Nie można dostosować formatu DateFormat osi X na wykresie słupkowym pandy
Chcę narysować obiekt serii czasu pandydata
z matplotlib. Prosty wykres liniowydata.plot()
, Udało mi się pomyślnie zmienić format daty osi X za pomocąax.xaxis.set_major_formatter(md.DateFormatter('%Y-%m-%d %H:%M:%S'))
.
Nie jestem jednak w stanie zrobić tego samego dla wykresu słupkowegodata.plot(kind='bar')
. I wykres się nie pojawił. Czy istnieje sposób na zmianę formatu danych dla wykresu słupkowego pandy? Wiem, że mogę utworzyć wykres za pomocą metody plt.bar, ale muszę użyć pand w stosie wykresu słupkowego dla bardziej skomplikowanych danych.
import matplotlib.pyplot as plt
import matplotlib.dates as md
import numpy as np
import pandas as pd
import datetime as dt
import time
n=20
duration=1000
now=time.mktime(time.localtime())
timestamps=np.linspace(now,now+duration,n)
dates=[dt.datetime.fromtimestamp(ts) for ts in timestamps]
values=np.sin((timestamps-now)/duration*2*np.pi)
data=pd.Series(values, index=dates)
fig=figure(figsize(5,5))
ax=fig.add_subplot(111)
data.plot(kind='bar')
ax.xaxis.set_major_formatter(md.DateFormatter('%Y-%m-%d %H:%M:%S'))