如何使用colormap绘制matplotlib线图?

时间:2018-10-19 00:13:09

标签: python matplotlib colormap line-plot

如何使用python matplotlib创建线图,使线的颜色相对于另一个系列变化?

举一个简单的例子:

import numpy as np
import matplotlib.pyplot as plt

t = np.arange(0.0, 2.0, 0.01)
y = np.sin(2 * np.pi * t)
z = (t-1) ** 2

fig = plt.figure()
ax = plt.axes()
ax.plot(t, y)
ax.plot(t, z)
plt.show()

代替:

lineplots

我只想绘制(t,y)的图形,使线条颜色表示遵循特定颜色图(cmap)(例如“等离子”)的z值。

编辑:

该问题被标记为可能重复,但是引用了question,其中期望的结果是改变颜色的线以帮助遵循绘制的路径(序列信息),而不是在另一个值上添加信息(在这种情况下是z)。

正如评论中指出的那样,它更接近this example,但我正在寻找比创建一组线段并分别为其上色更简单的方法。

2 个答案:

答案 0 :(得分:0)

我认为没有简单的方法可以通过线图来实现,但是通过散点图,这很容易。如果仍然需要连接线,则可以在其后面加上一条灰线来伪造它:

ax.scatter(t, y, c=z, marker='.')
ax.plot(t, y, c='gray')

enter code here

答案 1 :(得分:0)

使用引用为colorlinein an answer to the question you said is not a duplicate of this函数,可以做到这一点:

from colorline import colorline

colorline(t, y, z)
plt.xlim(t.min(), t.max())
plt.ylim(y.min(), y.max())
plt.show()

enter image description here

这将创建多个线段,每个线段的颜色由z确定。