2013-08-23 20 views
5

Khi cố gắng để thêm một miếng vá hình chữ nhật với một mô hình nở đến một âm mưu có vẻ như là không thể đặt đối số từ khóa edgecolor để 'không' khi cũng xác định một giá trị nở. Nói cách khác tôi đang cố gắng thêm một hình chữ nhật nở ra KHÔNG CÓ một cạnh nhưng với một mẫu điền. Điều này dường như không hoạt động. Các mô hình chỉ hiển thị nếu tôi cũng cho phép một cạnh được vẽ xung quanh miếng vá hình chữ nhật.hình chữ nhật nở vá mà không có cạnh trong matplotlib

Bất kỳ trợ giúp nào về cách đạt được hành vi mong muốn?

Trả lời

10

Bạn nên sử dụng đối số linewidth, đối số này phải được đặt thành 0.

Ví dụ (dựa trên 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() 

Bạn sẽ nhận được hình ảnh này: enter image description here

+0

Bạn có thể kiểm soát độ rộng vạch phổ của hiệu ứng nở mà không làm tăng kích thước biên giới? – jkokorian

+0

Đối số 'linewidth' chỉ điều khiển chiều rộng của đường viền. Theo nhận xét trong [câu trả lời này] (http://stackoverflow.com/questions/14325773/how-to-change-marker-border-width-and-hatch-width), không thể kiểm soát độ rộng của hiệu ứng nở. – carla

Các vấn đề liên quan