2013-08-23 5 views
5

해치 패턴이있는 사각형 패치를 플롯에 추가하려고하면 해치 값을 지정할 때 edgecolor 키워드를 'none'으로 설정할 수없는 것처럼 보입니다. 즉, 가장자리없이 패턴 채우기가있는 해치 된 사각형을 추가하려고합니다. 이 doesnt는 작동하는 것처럼 보인다. 사각형 패치 주변에 모서리가 그려지는 경우에만 패턴이 나타납니다.matplotlib에 모서리가없는 해치 된 사각형 패치

원하는 동작을 얻는 방법에 대한 도움이 필요하십니까?

답변

10

linewidth 인수를 사용해야합니다.이 인수는 0으로 설정해야합니다. (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

'linewidth' 인자는 테두리의 너비만을 제어합니다. [이 답변] (http://stackoverflow.com/questions/14325773/how-to-change-marker-border-width-and-hatch-width)에있는 의견에 따르면, 선 너비를 제어 할 수 없습니다. 해치 효과. – carla

관련 문제