[英]How to make a contour/density plot of a large 2D scatter plot
我有一個過於擁擠的散點圖,我試圖創建一個等高線圖或密度圖,以查看我的數據中是否有任何不同的總體。 我嘗試了以下代碼,但出現錯誤:
太多值無法解包(預期2)
我的代碼是:
x = CDM_300[:,[1]]
y = CDM_300[:,[2]]
# Evaluate a gaussian kde on a regular grid of nbins x nbins over data extents
nbins=300
k = kde.gaussian_kde([x,y])
xi, yi = np.mgrid[x.min():x.max():nbins*1j, y.min():y.max():nbins*1j]
zi = k(np.vstack([xi.flatten(), yi.flatten()]))
# Make the plot
plt.pcolormesh(xi, yi, zi.reshape(xi.shape))
plt.show()
# Change color palette
plt.pcolormesh(xi, yi, zi.reshape(xi.shape), cmap=plt.cm.Greens_r)
plt.show()
CDM_300
是一個( CDM_300
)數組,如果我嘗試對數據進行np.meshgrid
,我的筆記本電腦將崩潰。
問題似乎是由您為數據建立索引的方式引起的。 當您執行[:, [1]]
,數據的形狀變為(23800, 1)
,每個元素本身就是一個數組。
使用以下索引,第二個索引周圍沒有多余的[]
。
x = CDM_300[:, 1]
y = CDM_300[:, 2]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.