1 pièce(s) jointe(s)
Correspondance xticklabel et xticks
Bonjour,
Débutant en Python ici... J'ai un problème de correspondance entre mes xtick et mes xticklabels que j'illustre de façon simplifiée ci-dessous. J'utilise matplotlib et pandas.
ordinalTS est un objet pandas.core.series.Series qui contient des dates sous forme ordinale.
DataFrame est un objet pandas.core.frame.DataFrame
Code:
1 2 3 4 5 6 7
| ax8 = plt.subplot(111)
ax8.plot(ordinalTS,dataSelec.batt_volt_Max, color='k',linestyle='-',label='Max charge')
ax8.plot(ordinalTS,dataSelec.batt_volt_Min, color='r',linestyle='-',label='Min charge')
ax8.legend(fontsize=14)
ax8.set_ylabel('Tension [V]',fontsize=14)
ax8.set_xticklabels(dataSelec.TIMESTAMP.dt.strftime('%Y-%m-%d'),rotation=30,horizontalalignment='center')
ax8.set_title('Batteries',fontsize=18) |
Ma série ordinalTS correspond à ma série dataSelec
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| ordinalTS
Out[95]:
23 737241
24 737242
25 737243
26 737244
27 737245
28 737246
29 737247
30 737248
31 737249
32 737250
33 737251
34 737252
35 737253
36 737254
37 737255
Name: TIMESTAMP, dtype: int64
dataSelec.TIMESTAMP.dt.strftime('%Y-%m-%d')
Out[96]:
23 2019-07-01
24 2019-07-02
25 2019-07-03
26 2019-07-04
27 2019-07-05
28 2019-07-06
29 2019-07-07
30 2019-07-08
31 2019-07-09
32 2019-07-10
33 2019-07-11
34 2019-07-12
35 2019-07-13
36 2019-07-14
37 2019-07-15
Name: TIMESTAMP, dtype: object |
Tout est beau, sauf que, lorsque j'assigne les xticklabels, la correspondance est perdue. Les xtick sont assigné un jour sur deux, mais les xticklabel chaque jour. Donc les xticklabel ne vont que jusqu'à la moitié de la série et on a l'impression que le graphique ne couvre que la moitié de la période.
Merci !
Pièce jointe 491530