2013-08-23 9 views
5

एक साजिश के लिए एक हैच पैटर्न के साथ एक आयताकार पैच जोड़ने की कोशिश करते समय ऐसा लगता है कि एक हैच मान निर्दिष्ट करते समय कीवर्ड तर्क किनारे को '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

आप सीमा आकार में वृद्धि के बिना पक्षियों के बच्चे प्रभाव के linewidth को नियंत्रित कर सकते हैं? – jkokorian

+0

तर्क 'linewidth' केवल सीमा की चौड़ाई को नियंत्रित करता है। [इस उत्तर] में टिप्पणियों के मुताबिक (http://stackoverflow.com/questions/14325773/how-to-change-marker-border-width-and-hatch-width), लाइनविड्थ को नियंत्रित करना संभव नहीं है हैच प्रभाव। – carla

संबंधित मुद्दे