Matplotlib修补程序更改破折号样式

时间:2020-03-11 13:26:51

标签: python matplotlib

所以问这个问题我很愚蠢。

我正在尝试使用补丁绘制一个圆,并希望将线条样式更改为我自己的样式(偏移,开-关-序列)。

一个小例子:

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))
ax.add_patch(pa)

plt.show()

将线型更改为例如'--'可以正常工作,并且根据documentation,它将这个元组作为输入:

linestyle或ls | {'-','-','-。',':','',(offset,on-off-seq),...}

但是,在运行上面的示例时,我遇到了类型错误:'int' object is not iterable'

我在这里误解了还是这是一个错误?

1 个答案:

答案 0 :(得分:1)

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