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
.
进行整数除法
我目前正在绘制每个像素的图像颜色值,我正在尝试为每个图像创建一个图。我有大约 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
.