gpt4 book ai didi

python - 如何使用 matplotlib 以虚线获取交替颜色?

转载 作者:太空狗 更新时间:2023-10-29 17:31:57 25 4
gpt4 key购买 nike

在 matplotlib 中,我想使用 matplotlib.pyplot 绘制一条线,它是交替的黑色和黄色破折号,然后我想将该线包含在图例中。我该怎么做?

我可以这样做:

from matplotlib import pyplot as plt, gridspec
import numpy as np

grid = gridspec.GridSpec(1,1)
ax = plt.subplot(grid[0,0])

x = np.arange(1,11)
y = x * 2

ax.plot(x, y, '-', color = 'black', linewidth = 1, label = 'my line')
ax.plot(x, y, '--', color = 'yellow')
ax.legend()

plt.show()

但是图例上的线将显示为黑色实线,而不是黑色和黄色的虚线。

我确实查看了 matplotlib.path_effects 但我不知道是否有可能实现我想要的;我可以勾勒出线条的轮廓或为其添加阴影,但我不确定是否可以覆盖不同颜色的虚线。

最佳答案

试试这个。

from matplotlib import pyplot as plt, gridspec, lines

import numpy as np

grid = gridspec.GridSpec(1,1)
ax = plt.subplot(grid[0,0])

x = np.arange(1,11)
y = x * 2

ax.plot(x, y, '-', color = 'black', linewidth = 5)
ax.plot(x, y, '--', color = 'lawngreen', linewidth = 5)

dotted_line1 = lines.Line2D([], [], linewidth=5, linestyle="--", dashes=(10, 1), color='lawngreen')
dotted_line2 = lines.Line2D([], [], linewidth=5, linestyle="-", dashes=(5, 4), color='black')

plt.legend([(dotted_line1, dotted_line2)], ["My Line"])
plt.show()

我增加了线宽,所以它清晰可见。因为黄色在白色背景下不是那么清晰;将其更改为绿色。对于那个很抱歉。您可以随时以任何方式更改颜色:) output

关于python - 如何使用 matplotlib 以虚线获取交替颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31540258/

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