Pyplot颜色图逐行 - python

我从使用非常漂亮的pyplot在python上绘图开始。我旨在展示两个系列数据随时间的演变。与其做一个随时间变化的数据函数图,不如做一个散点图(data1,data2),其中时间分量显示为颜色梯度。

在我的两列文件中,时间将由行号描述。可以使用pyplot的固有功能将其写为文件的第3列,以自行获取行号。

有人可以帮助我吗?

非常感谢。

尼古拉斯

python大神给出的解决方案

使用matplotlib.pyplot.scatter进行绘制时,可以通过关键字参数c传递第三个数组。该阵列可以选择希望散点为的颜色。然后,您还可以从matplotlib.cm中选择合适的颜色图,并使用cmap关键字参数进行分配。

这个玩具示例创建两个数据集data1data2。然后,它还会创建一个数组colors,该数组是一个连续值的数组,这些连续值在0和1之间等距,并且长度与data1data2相同。它不需要知道“行号”,只需要知道数据点的总数,然后将颜色等距即可。

我还添加了colorbar。您可以通过删除plt.colorbar()行来删除它。

import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np


N = 500
data1 = np.random.randn(N)
data2 = np.random.randn(N)
colors = np.linspace(0,1,N)

plt.scatter(data1, data2, c=colors, cmap=cm.Blues)

plt.colorbar()

plt.show()