2013-08-23 30 views
5

Bir grafik çizgilerine bir dikdörtgenin ekini bir arsaya eklemeyi denerken, aynı zamanda bir kapak değeri belirlerken anahtar kelime argümanı kenar rengini 'yok' olarak ayarlamak mümkün görünmüyor. Başka bir deyişle, bir kenardan OLMADAN, ancak bir desen dolgulu OLDUĞU, bir taranmış dikdörtgen eklemeye çalışıyorum. Bu işe yaramıyor. Desen, sadece dikdörtgen yamanın etrafında bir kenar çizilmesine izin verirse görünür.matplotlib kenarları olmadan dikdörtgen yamaları taranmış

İstenilen davranışın nasıl gerçekleştirileceğine dair herhangi bir yardım?

cevap

10

Sıfırlanacak olan linewidth argümanını kullanmalısınız. (your other question's answer göre)

Örnek:

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() 

Bu görüntüyü elde edersiniz: enter image description here

+0

Eğer sınır boyutunu artırmadan ambar etkisinin çizgi genişliğine kontrol edebilir miyim? – jkokorian

+0

'linewidth' argümanı sadece kenarlık genişliğini kontrol eder. [Bu cevap] 'daki yorumlara göre (http://stackoverflow.com/questions/14325773/how-to-change-marker-border-width-and-hatch-width), linewidth'in kontrol edilmesi mümkün değildir. kapak etkisi. – carla