Posiadam plik temperatur z wieloletnimi zapisami temperatur w formacie jak poniżej:
2012-04-12,16:13:09,20.6
2012-04-12,17:13:09,20.9
2012-04-12,18:13:09,20.6
2007-05-12,19:13:09,5.4
2007-05-12,20:13:09,20.6
2007-05-12,20:13:09,20.6
2005-08-11,11:13:09,20.6
2005-08-11,11:13:09,17.5
2005-08-13,07:13:09,20.6
2006-04-13,01:13:09,20.6
Każdy rok ma inne liczby, czas zapisów, więc wszystkie wskaźniki czasu i daty pand są różne.
Chcę wykreślić dane z różnych lat na tej samej figurze w celu porównania. Oś X to styczeń do grudnia, oś Y to temperatura. Jak mam się do tego zabrać?
python
matplotlib
pandas
wuwucat
źródło
źródło
%matplotlib inline
miejsce importu, aby wizualizacje pojawiały się w notatnikach iPython.plot()
, mianowicie gdy każdy rodzaj specyfikacji są przekazywane jako argument doplot
funkcji?Jeśli masz uruchomiony notebook Jupyter / Ipython i masz problemy z używaniem;
ax = df1.plot()
df2.plot(ax=ax)
Uruchom polecenie w tej samej komórce !! Z jakiegoś powodu nie zadziała, gdy zostaną podzielone na kolejne komórki. Przynajmniej dla mnie.
źródło
Aby to zrobić dla wielu ramek danych, możesz wykonać na nich pętlę for:
fig = plt.figure(num=None, figsize=(10, 8)) ax = dict_of_dfs['FOO'].column.plot() for BAR in dict_of_dfs.keys(): if BAR == 'FOO': pass else: dict_of_dfs[BAR].column.plot(ax=ax)
źródło
Aby wzmocnić odpowiedź @ adivis12, nie musisz robić tego
if
oświadczenia. Ujmij to tak:fig, ax = plt.subplots() for BAR in dict_of_dfs.keys(): dict_of_dfs[BAR].plot(ax=ax)
źródło