Mam tablicę znaczników czasu w formacie (HH: MM: SS.mmmmmm) i inną tablicę liczb zmiennoprzecinkowych, z których każda odpowiada wartości w tablicy sygnatur czasowych.
Czy mogę wykreślić czas na osi X i liczby na osi Y za pomocą Matplotlib?
Próbowałem, ale w jakiś sposób akceptowałem tylko tablice pływaków. Jak mogę zmusić go do wyznaczania czasu? Czy muszę w jakikolwiek sposób modyfikować format?
python
graph
plot
matplotlib
przypadkowa myśl
źródło
źródło
scatter_date()
ani oczywistego / bezpośredniego sposobu uzyskania tego wykresu.Możesz także wykreślić znacznik czasu, pary wartości za pomocą pyplot.plot (po przeanalizowaniu ich z ich reprezentacji w postaci ciągu). (Testowane z wersjami matplotlib 1.2.0 i 1.3.1.)
Przykład:
Wynikowy obraz:
Oto to samo, co wykres punktowy:
Tworzy obraz podobny do tego:
źródło
plot
nascatter
).Type Error - invalid type promotion
.datetime.datetime
obiektami na osi x do mojego postu.plt.grid(True)
matplotlib.__version__
2.2.2. Wykres punktowy ma jednak domyślnie ustawione zbyt szerokie limity x. Ta odpowiedź wydaje się zapewniać obejście inne niż ręczne dostosowywanieplt.xlim(...)
: stackoverflow.com/a/46467896/10253917 lat później ten kod mi pomógł. Jednak moje czasy nadal nie wyświetlały się poprawnie.
Używając Matplotlib 2.0.0 i musiałem dodać następujący fragment kodu z Edycja formatowania daty etykiet znaczników osi x w matplotlib autorstwa Paula H.
Zmieniłem format na (% H:% M) i czas wyświetlał się poprawnie.
Wszystko dzięki społeczności.
źródło
Miałem z tym problem używając matplotlib w wersji: 2.0.2. Uruchamiając przykład z góry, otrzymałem wyśrodkowany zestaw bąbelków.
„Naprawiłem” problem, dodając kolejną linię:
Cały fragment kodu staje się:
Tworzy to obraz z bąbelkami rozmieszczonymi zgodnie z potrzebami.
źródło