gpt4 book ai didi

python - 在 matplotlib 的 plot() 中使用 'dashes' 参数绘制连续线

转载 作者:太空宇宙 更新时间:2023-11-04 03:13:02 28 4
gpt4 key购买 nike

我在 for block 中绘制多行,并使用 matplotlib 的 dashes 设置每行的样式争论。

其中一条(或多条)线需要是连续的。除了制作一条非常长的破折号外,我找不到其他方法来画这样一条线,如下面的 MCVE 所示。这行得通,但感觉有点老套。

是否有更“正确”的方法来实现这一点?

(我知道我可以只使用 plt.plot() 而不使用 dashes 参数来生成连续图,但我需要生成很多自定义样式的线条, 与一条或多条连续线混合)


MCVE:

import matplotlib.pyplot as plt
import numpy as np


col = ['c', 'm', 'g', 'y', 'k']
c_dash = [[8, 4], [8, 4, 2, 4], [2, 2], [8, 4, 2, 4, 2, 4], [1000, 1]]

for i in range(5):
x, y = range(10), np.random.uniform(0., 10., 10)
plt.plot(x, y, color=col[i], dashes=c_dash[i])

plt.savefig('test.png', dpi=300)

enter image description here

最佳答案

如果您更改 c_dash 列表以包含偏移参数 ( offset,( on,off sequence ) ) 然后您可以使用 linestyle作为你的 kwarg 而不是破折号。这将允许您使用线型关键字 ‘solid’ | ‘dashed’、‘dashdot’、‘dotted’ 除了您的自定义破折号。

import matplotlib.pyplot as plt
import numpy as np


col = ['c', 'm', 'g', 'y', 'k']
c_dash = [[0,[8, 4]], [0,[8, 4, 2, 4]], 'solid', [0,[8, 4, 2, 4, 2, 4]], 'solid']


for i in range(5):
x, y = range(10), np.random.uniform(0., 10., 10)
plt.plot(x, y, color=col[i], linestyle=c_dash[i])

enter image description here

关于python - 在 matplotlib 的 plot() 中使用 'dashes' 参数绘制连续线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37356414/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com