如何在matplotlib中使用单个绘图命令绘制多色曲线

时间:2012-02-03 20:12:20

标签: python matplotlib

如果我理解正确,功能:

matplotlib.pyplot.plot(x, y)

绘制len(x)-1个单独的线段 - 一个从(x [0],y [0])到(x [1],y [1]),一个来自(x [1], y [1])到(x [2],y [2])等。在我的应用程序中,我想显示一条由一系列以这种方式连接数据点的线段组成的曲线,但还有一个额外的部分与每个这些数据点之间的过渡相关联的数据(z),我想用线段的颜色来表示。显然,一种方法是:

for i in range(len(x)-1)):
    matplotlib.pyplot.plot(x[i:i+2],y[i:i+2], color=z[i])

但有没有办法做到这一点,不涉及对每个线段单独调用matplotlib.pyplot.plot?

2 个答案:

答案 0 :(得分:1)

您应该能够使用接受colors参数(RGBA元组序列)的matplotlib.collections.LineCollection

答案 1 :(得分:1)

如果你实现了一个类似于this的颜色条,那么你应该能够在一行中完成它。诀窍可能是选择一个按行段顺序更改的colorscale