2016-06-22 78 views
1

我試圖用plt.pcolormesh繪製熱圖,然後用plt.scatter繪製出我的圖的輪廓,我想根據最後一幅是輪廓的形狀。根據繪圖2的形狀繪製作圖1

這似乎並不難做,但我還沒有設法做到或發現任何東西。這裏是我的代碼和圖像來說明,謝謝你的幫助!

plt.rcParams["figure.figsize"] = (10.0, 10.0) 
plt.axis("off") 
plt.pcolormesh(x, y, intens) 
plt.colorbar() 
coord = np.genfromtxt("myfile.csv", delimiter = ' ') 
x = [coord[i][0] for i in range(0, len(coord))] 
y = [coord[i][1] for i in range(0, len(coord))] 
plt.scatter(x, y, c = 'k', s = 1.) 

Image here

回答

0

你可以使用plt.xlim()和plt.ylim(),並給他們新的人物的座標。下面是代碼的修改版本:

plt.rcParams['figure.figsize'] = (10.0, 10.0) 
plt.axis('off') 
plt.pcolormesh(x, y, intens) 
plt.colorbar() 
coord = np.genfromtxt('myfile.csv', delimiter=' ') 
x = coord[:, 0] 
y = coord[:, 1] 

plt.scatter(x, y, c='k', s=1.) 

plt.xlim([np.min(x), np.max(x)]) 
plt.ylim([np.min(y), np.max(y)]) 
+0

謝謝大家的幫助,特別是對於較短的版本,以x和y座標,你可以看到我在蟒蛇初學者:P 我實際上它們有相同的結果,它縮放到第二個數字的大小,但我想裁剪它,以便它只是遵循輪廓。 所以在這裏我想刪除白色圖形之外的所有內容:[這裏是示例](https://s31.postimg.org/b68jqe3gr/test2.png) – frenchelp