Python Matplotlib面片更改短划线样式

Python Matplotlib面片更改短划线样式,python,matplotlib,Python,Matplotlib,所以我觉得问这个问题很愚蠢 我正在尝试使用面片绘制一个圆,并希望将线样式更改为我自己的偏移,on off seq 一个小例子: 将matplotlib.pyplot作为plt导入 从matplotlib导入修补程序 图,ax=plt.subplots1 pa=面片。圆圈0.5,0.5,0.4,填充=假,线型=5,10 ax.add_patchpa 节目 将linestyle更改为例如“-”效果很好,根据,它将此元组作为输入: 线型或ls |{'-','-','-.',':',偏移,开-关顺序,…

所以我觉得问这个问题很愚蠢

我正在尝试使用面片绘制一个圆,并希望将线样式更改为我自己的偏移,on off seq

一个小例子:

将matplotlib.pyplot作为plt导入 从matplotlib导入修补程序 图,ax=plt.subplots1 pa=面片。圆圈0.5,0.5,0.4,填充=假,线型=5,10 ax.add_patchpa 节目 将linestyle更改为例如“-”效果很好,根据,它将此元组作为输入:

线型或ls |{'-','-','-.',':',偏移,开-关顺序,…}

然而,当运行上面的示例时,我遇到了一个类型错误:“int”object is not iterable”


我是否误解了这里的某些内容,或者这是一个bug?

on-off-seq也应该是一个元组,例如

import matplotlib.pyplot as plt
from matplotlib import patches

fig, ax = plt.subplots(1)

pa = patches.Circle((0.5, 0.5), 0.4, fill=False, linestyle=(5, (10, 2)))
ax.add_patch(pa)

plt.show()

您可以使用更长的数字序列,只要该序列中的元素数为偶数,例如5、1、2、3、4、5、6

是的,这本质上是一个bug,请参见。不过在这种情况下,文档是正确的,您需要一个元组偏移量,在offseq上,而不仅仅是在offseq上;e、 g.linestyle=0,5,10谢谢您的快速回答。我显然误解了。谢谢你的快速回答。我显然误解了这一点。