2017-08-27 1 views
-2

Ich versuche, eine Heatmap in matplotlib auf zwei Arten zu zeichnen:Probleme mit Heatmap in matplotlib

plt.figure(figsize=(8, 6)) 
heatmap, xedges, yedges = np.histogram2d(rtl, zs, bins=(128, 128)) 
extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]] 

plt.clf() 
plt.xscale('log') 

plt.imshow(heatmap, extent=extent) 
plt.show() 

Der zweite Weg ist:

fig, ax = plt.subplots(figsize=(8, 6)) 

hb = ax.hexbin(rtl, zs, gridsize=50) 
ax.axis([min(rtl), max(rtl), min(zs), max(zs)]) 
plt.show() 

Aber für die gleichen Daten, ich bin wirklich unterschiedliche Grundstücke bekommen. Ich verstehe nicht, was hier vor sich geht.

plot1 plot2

Antwort

1

Wenn Sie schauen genau auf die Bilder als die beiden Diagramme erscheinen gleich sein. Wie man in der logarithmischen Skala ist, während man Normalgraph ist.

+0

Die Daten entlang der x-Achse wurden vor dem Zeichnen der beiden Diagramme in Logarithmus konvertiert. Für die erste, wenn ich nicht plt.xscale ('log') gesetzt, dann ist es nicht richtig skaliert. Aber ich sehe nicht, wie sie die gleiche Handlung sind, die zweite sieht aus wie gedreht entlang der Achse – Rakib