我一直在使用的所有例子都使用随机数据.我的问题是安排我的实际数据以适应解决方案.
我正在尝试创建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数组并传递它,这平息了没有“形状”的错误,但三维数组似乎不是它正在寻找的.
解决方法:
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()
标签:python,numpy,matplotlib
来源: https://codeday.me/bug/20190901/1781929.html