matplotlib:如何根据单独的列表在一个网格中绘制多个散点图,其中每个图的颜色不同?

matplotlib: How to plot multiple scatter plots in one grid where each plot is different color based on a separate list?

我目前正在绘制每个像素的图像颜色值,我正在尝试为每个图像创建一个图。我有大约 100 张图片。我希望所有图都出现在一个网格中,但我仍然想跟踪图代表的图像。

对于图像颜色的"third variable",这将取决于一个单独的值0-100的列表,每个图都有一个对应的级别。

谢谢。

编辑:

这是为每张图片循环播放的相关片段。 z 是包含数字 0-100 的列表(例如 z=[5,2,6,13,100,0...])

    x = h_values[count]
    y = v_values[count]

    w = plt.cm.seismic(z[count]/100)

    ax.set_xlabel("H",fontsize=12)
    ax.set_ylabel("V",fontsize=12)
    ax.grid(True,linestyle='-',color='0.75')
    ax.scatter(x, y, color=w, s=1, cmap=plt.cm.seismic, edgecolors='None', vmin=0, vmax=100)

这是您可能尝试执行的操作的最小工作示例:

import pylab as pl

pl.clf()
for count in range(5):
    pl.scatter(pl.rand(10), pl.rand(10), color=pl.cm.seismic(count / 5.0), s=50)

结果:

我猜你的 z 是一个整数,所以除以 100 后你总是得到 0。我说得对吗?我避免使用 5.0 而不是 5.

进行整数除法