我正在尝试在 python 中绘制这样的图片。
我有三个用于绘图的参数。X:
[ 0.03570416 0.05201517 0.05418171 0.01868341 0.07116423 0.07547471]
是:
[-0.32079484 -0.53330218 -1.02866859 -0.94808545 -0.51682506 -0.26788337]
z:
[-0.32079484 -0.53330218 -1.02866859 -0.94808545 -0.51682506 -0.26788337]
所以x是x轴,y是y轴。然而 z 是像素的强度。我想出了这段代码:
z = np.array(reals)
x = np.array(ra)
y = np.array(dec)
nrows, ncols = 10, 10
grid = z.reshape((nrows, ncols))
plt.imshow(grid, extent=(x.min(), x.max(), y.max(), y.min()), interpolation='nearest', cmap=cm.gist_rainbow)
plt.title('This is a phase function')
plt.xlabel('ra')
plt.ylabel('dec')
plt.show()
但是我收到此错误:
grid = z.reshape((nrows, ncols))
ValueError: total size of new array must be unchanged
ra、dec 和 reals 是大小相同的普通数组。我之前计算过它们,然后我用它们创建了 numpy 数组