尝试在绘图中添加带有阴影图案的矩形补丁时,似乎无法将关键字参数edgecolor设置为“none”,同时指定阴影值。换句话说,我正在尝试添加一个带有图案填充但没有边缘的阴影矩形。这似乎不起作用。如果我也允许在矩形补丁周围绘制边缘,则只显示图案。如何实现所需的行为?
您应该使用linewidth
参数,并将其设置为零。
例如(基于您另一个问题的答案):
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()
你会得到这张图片:
linewidth
仅控制边框的宽度。根据 此答案 中的评论,无法控制阴影效果的线宽。 - carla