Python 如何在matplotlib中制作条带修补程序?

Python 如何在matplotlib中制作条带修补程序?,python,matplotlib,Python,Matplotlib,我想制作一个带条纹的贴片(例如a)(例如,以45º的角度交替使用相同厚度的黄线和红线)。我可以想出两种方法,但这两种方法似乎都比它们应该的更复杂:1)生成内插并屏蔽它,2)为每个条纹生成单独的补丁。是否有更好的方法,最好是可以保存为矢量图形的方法?根据所需的输出,您可以使用阴影。这有几个缺点;但仍然可以满足需求 import matplotlib.pyplot as plt plt.rcParams["hatch.linewidth"] = 4 rec1 = plt.Rectangle((1,

我想制作一个带条纹的贴片(例如a)(例如,以45º的角度交替使用相同厚度的黄线和红线)。我可以想出两种方法,但这两种方法似乎都比它们应该的更复杂:1)生成
内插
并屏蔽它,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()


如您所见,您需要通过rcParams设置图案填充线宽。此外,没有对图案填充角度的控制,它仅为0,45,90度。最后,图案填充密度将取决于图形大小和使用的dpi

根据所需输出的内容,可以使用图案填充。这有几个缺点;但仍然可以满足需求

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


如您所见,您需要通过rcParams设置图案填充线宽。此外,没有对图案填充角度的控制,它仅为0,45,90度。最后,图案填充密度将取决于图形大小和使用的dpi

我想简短的回答是:不。如果你需要任何解决方案的帮助,你当然可以问这个问题。第二种方法至少是矢量化的。我想简单的答案是:不。如果你需要任何解决方案的帮助,你当然可以问这个问题。第二种方法至少是矢量化的。对于某些情况,这是一个很好的解决方案,但在给定图形大小和dpi时,似乎没有办法控制图案填充密度(除了使用
/
//
//
)?对于某些情况,这是一个很好的解决方案,但在给定图形大小和dpi时,似乎无法控制图案填充密度(除了使用
/
/
//
)?