2016-04-04 6 views
0

Ich habe Tupel von 3 Zahlen, die ich in einer Heatmap plotten möchte. Die ersten 2 Zahlen sind Variablen/Koordinaten und die dritte ist der Wert. Ich denke, der einfachste Weg wäre, sie in einen 40x40-Datenrahmen umzuwandeln und plt.pcolor(df) zu verwenden, aber ich kann nicht herausfinden, wie man es in einen Datenrahmen umwandelt. Jeder andere Weg würde auch geschätzt werden. Ich erzeuge die Tupel mit diesem Code tuples.append((var1,var2,value)) in einer for-Schleife, so dass ich sie direkt in einen Datenrahmen oder irgendetwas anderes setzen konnte (weiß nicht wie). Danke an alle, die mir helfen können!Python Matplotlib macht Heatmap aus Tupeln (x, y, Wert)

[(-0.2, -0.2, 2.46), (-0.2, -0.19, 2.58), (-0.2, -0.18, 2.53), (-0.2, -0.17, 2.48)]

Antwort

1

Statt Tupel zu schaffen, würde ich drei verschiedene Listen der gleichen Länge zu schaffen empfehlen. Dann können Sie verwenden numpy.histogram2d:

import numpy as np 
import matplotlib.pyplot as plt 

# here are the three lists 
# for example, you could do random values to demo 
x = np.random.randn(8873) 
y = np.random.randn(8873) 
weights = np.random.rand(8873) 

heatmap, _, _ = np.histogram2d(x, y, weights=weights) 

plt.clf() 
plt.imshow(heatmap) 
plt.show() 
+0

Danke, ich denke, das funktioniert! – puzzler

Verwandte Themen