2016-07-08 8 views
1

Ich schreibe einen Python-Code. Mein-Datenmenge aus drei Spalten zusammengesetzt ist, sind die Tannen zwei die Koordinaten, und der dritte ist ein WärmeschätzungsHeat Map von räumlichen Daten in Python

    X    Y  heat 
0  497935.000000 179719.000000 0.048428 
1  497935.000000 179719.000000 0.029399 
2  497935.000000 179719.000000 0.066734 
3  497935.000000 179719.000000 0.065524 
4  497935.000000 179719.000000 0.062458 
5  497935.000000 179719.000000 0.032225 
6  497935.000000 179719.000000 0.028557 
7  497463.000000 179526.000000 0.000388 
8  497899.000000 179305.000000 0.000733 
9  497805.000000 179364.000000 0.000158 
10  498264.000000 180349.000000 0.000036 
11  498020.000000 179602.000000 0.003149 
...    ...   ...  ... 

Ich möchte, die Daten in der XY-Ebene zeichnen, um eine Farbe zu jedem Punkt die Zuweisung mit reflektiert seine Heizwert. So etwas wie diese Handlung

aber wo jeder Punkt eine Farbe hat, hängt von seiner Hitze in Python ab. Vielen Dank im Voraus

+0

Bitte zeigen Sie, was Sie bisher versucht haben, und wo sind Sie stecken geblieben, danke! – plamut

+0

@plamut Alles, was ich getan habe, ist plt.plot (data.X, data.Y, '.b'), aber der Punkt war, dass ich nicht weiß, wie man jeden Datenpunkt einfärbt/ –

+0

Vielleicht passiere die 'color = data.heat 'Option? (nicht sicher, aber es scheint mir ziemlich logisch) – ysearka

Antwort

3

Vom documentation:

Das Schlüsselwort c kann als der Name einer Spalte angegeben werden, um Farben für jeden Punkt zu bieten:

In [64]: df.plot.scatter(x='a', y='b', c='c', s=50); 

Also, was Sie brauchen zu tun ist einfach zu spezifizieren, dass die heat Spalte die Information über die Farbe jedes Punktes enthält:

df.plot.scatter(x=data.X, y=data.Y, c=data.heat) 

Wenn Sie eine benutzerdefinierte Farbkarte anwenden möchten, gibt es auch die cmap Parameter, so dass Sie eine andere color map

Sie auch mehr über in der Dokumentation für die scatter() Methode lesen angeben.

+0

Wissen Sie, wie man es bunt macht? – MaxU

+0

Bitte sehen Sie meine aktualisierte Antwort - es gibt einen 'cmap' Parameter, mit dem Sie die Heatmap anpassen können (nur anwendbar, wenn' c' eine Liste von Zahlen ist). – plamut

+0

Ja, ich denke, das war's! +1 – MaxU