首页 > 解决方案 > 使用 Python/matplotlib 用两种不同的颜色绘制一条线

问题描述

有没有一种方法可以使用两种(并且只有两种)不同的颜色绘制一条线matplotlib.pyplot?例如,我想要类似的东西:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0., 2.*np.pi)
plt.plot(x, np.sin(x), color=['red', 'blue'])
plt.show()

绘制一条曲线,其中颜色redblue与合理周期交错。就像用破折号绘制了两次相同的曲线,但破折号彼此偏移。理想情况下,我希望我的虚线也出现在图例中,但这是次要考虑。

这里有部分解决方案:
https://matplotlib.org/stable/gallery/lines_bars_and_markers/multicolored_line.html
https://scipy-cookbook.readthedocs.io/items/Matplotlib_MulticoloredLine.html
对于我的问题,第一个解决方案似乎过于复杂,而且我宁愿不手动x分成段(而且我的x可能不是线性间隔的)。第二种解决方案使用连续的调色板,而我只喜欢两种不同的颜色。

标签: pythonmatplotlib

解决方案


推荐阅读