如何在许多文件的散点图上设置matplotlib颜色图

时间:2019-07-13 15:00:18

标签: python matplotlib color-mapping

我正在创建一个包含约500个文件的散点图,每个文件都有几百兆字节。我希望每个文件中的所有点都是与文件元数据中的单个值(浮点数)相对应的特定颜色。

我找不到首先设置整个图的颜色范围,然后将给定的plt.scatter实例的颜色设置为该范围内的值的方法。似乎无论如何,matplotlib都希望从与数据大小相同的可迭代对象中为每个点选择一种颜色。这对于我的应用程序是不切实际的,因为为我的所有数据创建单个阵列将需要数GB。

我想做的伪代码是:

for file in files:
    val = get_metadata(file)
    data = np.genfromtxt(file)
    color_range = [c_min, c_max]
    plt.scatter(data[:,0],
                data[:,1],
                color_range = color_range,
                c = val)
plt.show()

有人知道做过matplotlib的方式吗?我确实无法在文档中找到它。

有人建议这是this question的副本,但略有不同。在那里提供的解决方案,

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

x = np.arange(10)
ys = [i+x+(i*x)**2 for i in range(10)]

colors = cm.rainbow(np.linspace(0, 1, len(ys)))
for y, c in zip(ys, colors):
    plt.scatter(x, y, color=c)

依次遍历定义的颜色。我想如上所述定义我的颜色图,但是然后从带有元数据值的颜色图中进行选择,该值是在一定范围内的连续浮动。

0 个答案:

没有答案