【发布时间】:2012-02-15 06:31:13
【问题描述】:
我有一个形成一条线的 y 值数组。此外,我有一个数组,其元素数量与 y 数组的值范围从 0 到 1 相同。我们称这个数组为“z”。我想绘制 y 值数组,以便每个点的颜色与 z 值相对应。
在 gnuplot 中,您可以使用“lc 变量”来执行此操作:
plot ’data’ using 1:2:3 with points lc variable
使用此处的建议:Matplotlib scatterplot; colour as a function of a third variable
,我可以使用散点图,它确实有效:
import matplotlib as mpl
import matplotlib.pyplot as plt
plt.scatter(x, y, c=z, s=1, edgecolors='none', cmap=mpl.cm.jet)
plt.colorbar()
plt.show()
有没有办法用matplotlib中的plot方法做到这一点,类似于这个?
plt.plot(x, y, c=z)
当我尝试上面的代码时,所有的行都是黑色的。
【问题讨论】:
-
在 gnuplot
lc variable中根据最后一列的值选择线型索引。要将其用作颜色,请使用例如lc palette z.
标签: python plot matplotlib gnuplot