Pyplot colormap逐行

时间:2014-12-12 11:48:45

标签: python matplotlib colormap

我开始使用非常漂亮的pyplot绘制python。我的目标是随着时间的推移展示两个系列数据的演变。我不想做一个随意的数据时间函数,而是想要一个散点图(data1,data2),其中时间分量显示为颜色渐变。

在我的两个列文件中,时间将由行号描述。要么使用pyplot的内在功能写入文件中的第3列,要么自行获取行号。

有人可以帮我这么做吗?

非常感谢。

尼古拉斯

1 个答案:

答案 0 :(得分:5)

使用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()

Example plot