问题:Matplotlib 线型真的只有 4 种吗?

我一直在 matplotlib 中寻找新的线型,唯一可用的线型是 ["-"、"--"、"-."、":"、]。 (样式选项 ['', ' ', 'None',] 不计算在内,因为它们只是隐藏了线条。)

Matplotlib pyplot 中真的只有 4 种线条样式吗?是否有任何扩展可以添加更多线条样式?有没有办法自定义线条样式?一些三种字符线样式怎么样:

  • '--.': 破折号

  • '-..': 点划线点

  • '...':点点点(空格)

  • 'xxx': x 在一行

  • '/':之字形,即'////'

  • '::': 平行点,即:::::

这些只是扩展线条样式范围的一些想法。

解答

您可以使用dasheskwarg 设置自定义破折号样式。

从文档:

设置破折号序列,带有开断墨点的破折号序列。如果 seq 为空或 seq u003d (None, None),则线型将设置为实心。

以下是基于您的一些建议的一些示例。显然,还有更多方法可以自定义它。

import matplotlib.pyplot as plt

fig,ax = plt.subplots(1)

# 3 dots then space
ax.plot(range(10), range(10),     dashes=[3,6,3,6,3,18],  lw=3,c='b')

# dash dash dot
ax.plot(range(10), range(0,20,2), dashes=[12,6,12,6,3,6], lw=3,c='r')

# dash dot dot
ax.plot(range(10), range(0,30,3), dashes=[12,6,3,6,3,6],  lw=3,c='g')

在此处输入图像描述

Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐