2013-08-23 61 views
5

當試圖將一個帶陰影線的矩形修補程序添加到繪圖時,似乎無法在指定陰影值時將關鍵字參數edgecolor設置爲'none'。 換句話說,我試圖添加一個陰影矩形,沒有一個邊緣,但與模式填充。這似乎並不奏效。如果我還允許在矩形區域中繪製邊緣,該圖案只顯示出來。matplotlib中沒有邊的陰影矩形修補程序

任何關於如何達到預期行爲的幫助?

回答

10

您應該使用linewidth參數,該參數必須設置爲零。

例(基於your other question's answer):

import matplotlib.pyplot as plt 
import matplotlib.patches as patches 
import numpy as np 

fig = plt.figure() 
ax = fig.add_subplot(111) 

# generate some data: 
x,y = np.meshgrid(np.linspace(0,1),np.linspace(0,1)) 
z = np.ma.masked_array(x**2-y**2,mask=y>-x+1) 

# plot your masked array 
ax.contourf(z) 

# plot a patch 
p = patches.Rectangle((20,20), 20, 20, linewidth=0, fill=None, hatch='///') 
ax.add_patch(p) 
plt.show() 

你會得到這個圖片: enter image description here

+0

你能控制的孵化效果線寬不增加邊框大小? – jkokorian

+0

「線寬」參數僅控制邊框的寬度。根據[這個答案]中的評論(http://stackoverflow.com/questions/14325773/how-to-change-marker-border-width-and-hatch-width),它是不可能控制的線寬孵化效應。 – carla