我一直在使用的所有示例都使用随机数据。我的问题是安排我的实际数据以适应解决方案。
我正在尝试创建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 documentation似乎没有描述“C”是什么,而不是说它可以是“蒙面数组”。可悲的是,我不知道那是什么(还)。
如何将我的三个数组转换为它正在寻找的任何数组?我尝试将它们粘贴到一个numpy数组并传递它,这使得没有“形状”的错误平静下来,但三维数组似乎并不是它正在寻找的。 p>
答案 0 :(得分:5)
pcolormesh
需要三个2-D阵列。
您的X
和Y
没问题,但需要通过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)
然后您只需让Z
处于与xx
和yy
相同的形状中,您就可以全部设定。
对于散点图,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()