2013-08-23 14 views
5

ハッチングパターンを持つ矩形パッチをプロットに追加しようとすると、ハッチング値を指定するときにキーワード引数edgecolorを 'none'に設定できないようです。 言い換えれば、私は、エッジなしでパターンが塗りつぶされた斜線の四角形を追加しようとしています。これは動作しないようです。パターンは、矩形パッチの周りにエッジを描くことができる場合にのみ表示されます。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

関連する問題