python matplotlib dash-dot-dot - 如何?

标签 python matplotlib linestyle

我正在使用 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()

enter image description here

[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/

相关文章:

python SQL查询插入显示空行

Python 的 sympy 求解器返回四次方程的坏根

matlab - MATLAB R2019a中contourf函数中 'ShowText'和 'LineStyle'冲突?

python - 寻找 coref 实例中涉及的特定 token - Spacy 和 Neuralcoref

Python & SqlAlchemy - 查询的迭代构建

python - 为什么这个测试失败了?

python - 使用元组元素从列表制作频率直方图

Python matplot-ting 使用数组附加的曲线奇怪地在较高位置显示较低值?

python - pandas,matplotlib : a way to assign same colors, 子图中相同列标签的线条样式?

python - Matplotlib 线重叠/分辨率