我想制作一个带条纹的补丁(例如,矩形)(例如,以 45\xc2\xba 的角度交替等粗的黄线和红线)。我可以想到两种方法,但两种方法似乎都比应有的更复杂:1)制作implot并屏蔽它,2)为每个条纹生成单独的补丁。有没有更好的方法来做到这一点,最好是可以保存为矢量图形的方法?
根据所需的输出,您可以使用剖面线。这有几个缺点;但还是可以满足需求的。
import matplotlib.pyplot as plt
plt.rcParams["hatch.linewidth"] = 4
rec1 = plt.Rectangle((1,1),2,1.5, facecolor="limegreen",
edgecolor="darkgreen", hatch=r"\\" )
rec2 = plt.Rectangle((4,2),1,1, facecolor="indigo",
edgecolor="gold", hatch=r"//")
fig, ax = plt.subplots()
ax.add_patch(rec1)
ax.add_patch(rec2)
ax.margins(0.3)
ax.autoscale()
plt.show()
Run Code Online (Sandbox Code Playgroud)
如您所见,您需要通过 rcParams 设置剖面线线宽。另外,阴影线的角度无法控制,只有0、45、90度。最后,阴影密度将取决于图形尺寸和所使用的 dpi。