1
比方說,我有兩個相同長度的列表,x
和y
。這個長度不是固定的,但總是非零。它們是非負值的x和y值。如何製作matplotlib密度圖
我想創建一個很像http://www.mathworks.com/matlabcentral/fx_files/31726/1/datadensitymap.jpg的顏色密度圖。
下面是我在互聯網上發現了幾個地方我嘗試借用:
density = stats.gaussian_kde([x,y])
color = density([x,y])
x1 = np.array(x)
y1 = np.array(y)
xmin = x1.min()
xmax = x1.max()
ymin = y1.min()
ymax = y1.max()
xscale = (xmax-xmin)/100
yscale = (ymax-ymin)/100
X, Y = np.mgrid[xmin:xmax:xscale, ymin:ymax:yscale]
positions = np.vstack([X.ravel(), Y.ravel()])
Z = np.reshape(density(positions).T, X.shape)
cmap = plt.get_cmap("hot")
plt.imshow(np.rot90(Z), cmap=cmap, extent=[xmin, xmax, ymin, ymax])
plt.scatter(x, y, c=color, cmap=cmap)
當我運行這段代碼的情節不會呈現;標題和標籤混合在一起。
當我調用imshow時,散點圖與正確顯示的點上的密度顏色完美地顯示。