2016-08-19 4 views
0

Ich möchte eine Heatmap mit Matplotlib wie die unten abgebildete erstellen. Die Daten sind nicht gleichmäßig verteilt, wie Sie an den Achsen-Ticks erkennen können. Also angenommen, wir habenHeatmap für ungleichmäßige Daten

x = [1, 1.5, 2, 2.5, 3, 3.5, 4, 5, 7] 
y = [.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5] 
vals = np.random.rand(len(x), len(y)) 

Wie wird eine solche interpolierte Grundstücke in matplotlib erstellt?

enter image description here

Antwort

1

Sie sollten Daten interpolieren fehlt, habe ich in einem meiner Projekt folgende:

#create regular grid 
xi, yi = np.linspace(x.min(), x.max(), 100), np.linspace(y.min(), y.max(), 100) 
xi, yi = np.meshgrid(xi, yi) 

#interpolate missing data 
rbf = scipy.interpolate.Rbf(x, y, z, function='linear') 
zi = rbf(xi, yi)