当尝试将具有阴影图案的矩形贴片添加到绘图时,似乎在指定填充值时无法将关键字参数edgecolor设置为“none”。 换句话说,我试图添加一个没有边缘但带有图案填充的阴影矩形。这似乎不起作用。如果我还允许在矩形块周围绘制边缘,则仅显示该模式。
有关如何实现所需行为的任何帮助?
答案 0 :(得分:13)
您应该使用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()
你会得到这个图片: