Chcę wykreślić kilka znaczników czasu (format Godzina-Minuta-Dru-rok-miesiąc-dzień). Używam następującego kodu, jednak nie pokazuje on żadnej godziny, minuty i sekundy informacji, pokazuje je jako 00-00-00. Sprawdziłem dwukrotnie tablicę dat, a jak widać z poniższego opisu, nie są one zerowe.Wykreślanie znaczników czasu (godzina/minuta/sekunda) z Matplotlibem
Czy masz pojęcie o tym, dlaczego dostaję 00-00-00?
import matplotlib.pyplot as plt
import matplotlib.dates as md
import dateutil
dates = [dateutil.parser.parse(s) for s in datestrings]
# datestrings = ['2012-02-21 11:28:17.980000', '2012-02-21 12:15:32.453000', '2012-02-21 23:26:23.734000', '2012-02-26 17:42:15.804000']
plt.subplots_adjust(bottom=0.2)
plt.xticks(rotation= 80)
ax=plt.gca()
xfmt = md.DateFormatter('%Y-%m-%d %H:%M:%S')
ax.xaxis.set_major_formatter(xfmt)
plt.plot(dates[0:10],plt_data[0:10], "o-")
plt.show()
Dzięki za odpowiedź. Już patrzyłem na pytanie "Wyznaczanie unixowych znaczników czasowych w matplotlib". Jednak moim problemem jest to, że Matplotlib nie pokazuje godziny-minuty-sekundy, jak to pokazuje na "wykreślaniu jednostkowych znaczników czasowych w matplotlib". W moim przypadku po prostu pokazuje je jako 00-00-00 i nie mogę zrozumieć dlaczego (ponieważ wygląda na to, że moje sygnatury czasowe są poprawne) .. – user1048858
Masz rację, ponieważ próbujesz wypełnić oś X kleszczami , zobacz moją zredagowaną odpowiedź. – seth