Python Matplotlib 虚线点线点线图 - 如何实现?

38
我正在使用Python和Matplotlib生成图形输出。
有没有一种简单的方法来生成虚线-点-点线型?
我知道有 '--''-.'':' 这些选项。不幸的是,'-..' 不能得到虚线-点-点线。
我查看了 set_dashes 命令,但似乎只能控制短线和相邻两个短线之间的空格长度。
一个选择是将两条线绘制在一起;一条是虚线,破折号之间有充足的空间,另一条是点线,点的大小与破折号宽度相同,并且间隔使得每个破折号之间有两个点。我不怀疑这可以做到,我只是希望有一种更简单的方法。
我有没有忽略某个选项?
1个回答

62
你可以定义自定义虚线: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()

生成与上述显示相同的结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接