2016-07-07 6 views
1

Ich habe Probleme, ein Streudiagramm, das aus einem Datum Array und eine Reihe von PM 2,5 Werte hat. Meine Listen würde wie folgt aussehen:Machen Sie eine Streudiagramm in Matplotlib mit Daten auf x-Achse und Werte auf y

dates = ['2015-12-20','2015-09-12'] 
PM_25 = [80, 55] 
+0

plt.scatter (Termine, PM_25) ?? – RSHAP

+0

Wenn das nicht funktioniert, was ist die Fehlermeldung? Möglicherweise müssen Sie Datumsangaben in Datumsangaben umwandeln. Wenn du Pandas hast, kannst du [pd.to_datetime (d) für d in Daten] – RSHAP

+0

Ich erhalte diesen Fehler: ValueError: ungültiges Literal für float(): 2010-01-01 – Ravmcgav

Antwort

3
import pandas as pd 
dates = ['2015-12-20','2015-09-12'] 
PM_25 = [80, 55] 
dates = [pd.to_datetime(d) for d in dates] 

plt.scatter(dates, PM_25, s =100, c = 'red') 

s setzt die Größe c die Farbe setzt

Es gibt eine ganze Reihe von anderen args auch: http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.scatter

+0

Das ist großartig! Könnte ich das genauer machen, indem ich für jedes Jahr Monate oder sogar jahreszeitliche Etiketten gebe? – Ravmcgav

+0

was meinst du? Sie sollten bereits Datumsbeschriftungen haben? – RSHAP

+5

Wenn ich versuche, ein Streudiagramm mit 'datetime' auf der' x'-Achse zu erstellen, bekomme ich 'TypeError: ungültiger Typ promotion'. Deine Lösung funktioniert nicht. – dwanderson

Verwandte Themen