使用matplotlib绘制矩阵,将第三个变量作为颜色映射的源

时间:2018-05-29 14:54:32

标签: matplotlib matrix

假设您有三个数组给出的矩阵:

x = N维数组。

y = M维数组。

z是一组有点随机的"在NxM形状中从-0.3到0.3的值。我需要创建一个图,其中x值在x轴上,y值在y轴上,使用z作为源,用颜色图表示每个像素的强度。

到目前为止,我已尝试使用

plt.contourf(x,y,z)

并且得到的情节对我来说非常好(附在本段末尾),但平滑会自动应用于情节!我需要能够区分像素,我找不到办法。 contourf result

我也研究了使用

的可能性
ax.matshow(z)

为了成功地看到像素...但是我正在努力尝试个性化x和y轴,因为只显示了像素的索引(见下文)。 matshow result

你能给我一些想法吗?谢谢。

2 个答案:

答案 0 :(得分:1)

如果没有关于x,y数据的更多信息,很难知道,但我猜您正在寻找pcolormesh

plt.pcolormesh(x,y,z)

这会将x和y数据作为输入,因此在适当的坐标处显示z数据。

答案 1 :(得分:0)

您可以将imshow与关键字interpolation='nearest'一起使用。

plt.imshow(z, interpolation='nearest')