J'ai deux listes, dates et valeurs. Je veux les tracer en utilisant matplotlib. Ce qui suit crée un nuage de points de mes données.
import matplotlib.pyplot as plt
plt.scatter(dates,values)
plt.show()
plt.plot(dates, values)
crée un graphique linéaire.
Mais ce que je veux vraiment, c'est un nuage de points où les points sont reliés par une ligne.
Similaire à dans R:
plot(dates, values)
lines(dates, value, type="l")
, ce qui me donne un nuage de points superposé à une ligne reliant les points.
Comment puis-je faire cela en python?
Je pense que @Evert a la bonne réponse:
plt.scatter(dates,values)
plt.plot(dates, values)
plt.show()
Ce qui est à peu près la même chose que
plt.plot(dates, values, '-o')
plt.show()
ou peu importe linestyle vous préférez.
Pour les lignes rouges et les points
plt.plot(dates, values, '.r-')
ou pour les marqueurs x et les lignes bleues
plt.plot(dates, values, 'xb-')
En plus de ce qui est prévu dans les autres réponses, le mot clé "zorder" permet de décider de l'ordre dans lequel les différents objets sont tracés verticalement. Par exemple.:
plt.plot(x,y,zorder=1)
plt.scatter(x,y,zorder=2)
trace les symboles de dispersion en haut de la ligne, tandis que
plt.plot(x,y,zorder=2)
plt.scatter(x,y,zorder=1)
trace la ligne sur les symboles scatter.
Voir, par exemple, le démo de zorder