我正在使用 python 和 matplotlib 来生成图形输出。
有没有一种简单的方法来生成点划线样式?
我知道 '--'
、'-.'
和 ':'
选项。不幸的是,'-..'
不会产生点划线。
我查看了 set_dashes
命令,但这似乎控制了破折号的长度和两个相邻破折号之间的空间。
一种选择可能是在彼此之上绘制两条线;一种是虚线,虚线之间有足够的空间 - 一种是虚线,与虚线一样大的点宽且间隔开,因此每个虚线之间有两个点。我不怀疑这是可以做到的,我只是希望有一个更简单的方法。
我是否忽略了一个选项?
最佳答案
您可以定义custom dashes :
import matplotlib.pyplot as plt
line, = plt.plot([1,5,2,4], '-')
line.set_dashes([8, 4, 2, 4, 2, 4])
plt.show()
[8, 4, 2, 4, 2, 4]
表示
- 8 分,(破折号)
- 4 分,
- 2 点,(点)
- 4 分,
- 2 点,(点)
- 扣 4 分。
@Achim 指出您还可以指定 dashes
参数:
plt.plot([1,5,2,4], '-', dashes=[8, 4, 2, 4, 2, 4])
plt.show()
产生与上述相同的结果。
关于python matplotlib dash-dot-dot - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14710221/