web-dev-qa-db-fra.com

Faire un nuage de points dans matplotlib avec des dates sur l'axe des x et des valeurs sur y

J'ai du mal à créer un nuage de points contenant un tableau de dates et un tas de valeurs PM 2,5. Mes listes ressembleraient à ceci:

dates = ['2015-12-20','2015-09-12']  
PM_25 = [80, 55]
6
Ravmcgav
import pandas as pd
dates = ['2015-12-20','2015-09-12']  
PM_25 = [80, 55]
dates = [pd.to_datetime(d) for d in dates]

plt.scatter(dates, PM_25, s =100, c = 'red')

s définit la taille c définit la couleur

Il y a aussi tout un tas d'autres arguments: http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.scatter

8
RSHAP

Si un tracé avec des données contenant des dates, vous pouvez utiliser plot_date

Similaire à la commande plot (), sauf que les données x ou y (ou les deux) sont considérées comme des dates et l'axe est étiqueté.

Convertissez d'abord la liste en date, comme l'a montré @RSHARP,

dates = [pd.to_datetime(d) for d in dates]

alors vous pouvez utiliser plot_date

plt.plot_date(dates, PM_25, c = 'red')
2
Memin