我正在使用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 - python matplotlib点划线-如何?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14710221/

    10-13 06:37