3

我出现的所有示例都使用随机数据。我的问题是安排我的实际数据以适应解决方案。

我正在尝试创建 x、y、z 的热图/散点图:x 和 y 是位置,而 z 是颜色。它们位于三个长度相等的数组中。

X = [-0.11, -0.06, -0.07, -0.12, ...]
Y = [0.09, 0.13, 0.17, 0.09, ...]
Z = [0.38, 0.37, 0.44, 0.33, ...]

pcolormesh文档似乎没有描述什么是“C”,只是说它可以是一个“掩码数组”。可悲的是,我也不知道那是什么(还)。

如何将我的三个数组变成它想要的东西?我尝试将它们粘贴到一个 numpy 数组中并传递它,这消除了关于没有“形状”的错误,但 3 维数组似乎并不是它正在寻找的东西。

4

1 回答 1

5

pcolormesh想要三个二维数组。

你的XandY很好,但需要通过 numpy 的meshgrid函数运行,即:

import numpy as np
X = [-0.11, -0.06, -0.07, -0.12, ...]
Y = [0.09, 0.13, 0.17, 0.09, ...]
xx, yy = np.meshgrid(X, Y)

那么你只需要保持与andZ相同的形状,就可以了。xxyy

对于散点图,X,Y和,Z很好:

import matplotlib.pyplot as plt
X = [-0.11, -0.06, -0.07, -0.12, ...]
Y = [0.09, 0.13, 0.17, 0.09, ...]
Z = [0.38, 0.37, 0.44, 0.33, ...]
fig, ax = plt.subplots()
ax.scatter(X, Y, c=Z)
plt.show()
于 2013-02-07T01:15:13.830 回答