在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
但我不知道是否有可能实现我想要的;我可以勾勒或阴影线,但我不确定我可以覆盖不同颜色的虚线。
2条答案
按热度按时间5gfr0r5j1#
试试这个。
我增加了线条的宽度,使其清晰可见。因为黄色在白色背景下不是那么清晰;把它改成绿色。很抱歉。您可以随时以任何方式更改颜色:)
slwdgvem2#
如果您需要两条虚线的叠加,则进行轻微调整。本质上,可以使用tanmaya meher描述的相同方法,但要获得正确的偏移量,需要在破折号规范中进行小修改。
具体地说,假设你想要1个点,1个空白和交替的颜色
然后,您可以使用dash spec开始第一条虚线
[1,3]
. 现在第二种颜色应该从位置2开始,然后具有相同的规格,以便它们很好地交叉。由于没有明确的方法来设置偏移,因此需要一个解决方法破折号序列[0,2, 1, 1]
,即没有点,两个空白,一个点,一个空白,用于设置所需偏移。