【发布时间】:2019-05-10 21:19:42
【问题描述】:
我有以下代码:
x = range(1, 100) # pixel x coordinates
y = range(21, 120) # pixel y coordinates
z = [-2, 5, 1, ..., 1] # should be mapped to colors
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from matplotlib.colors import Normalize
cmap = cm.autumn
norm = Normalize(vmin=min(z), vmax=max(z))
colormap = cmap(norm(5))
plt.plot(x, y, cm=colormap)
现在我想绘制这些点[x, y] 这样:
- 每个点都应该是一个像素(因为
len(x)可能大约是35'000),而不仅仅是一个标记(恐怕它们会以其他方式重叠)。 - 使用this question,我想制作一个颜色图并将
min(z)映射为白色,将max(z)映射为黑色(并显示图例)。
我如何使用 matplotlib 做到这一点?
【问题讨论】:
-
到目前为止你尝试过什么代码?请在您的问题中包含这一点。
-
@HS-nebula 添加了我的代码。
-
x、y 和 z 的长度是否相同?二次空间中的所有像素是“被占用”还是只有一些?
标签: python matplotlib