二维数据的 Matplotlib 图

问题描述 投票:0回答:0

我有形状 (1125, 2058) 的数据,我想绘制它的二维图。 x 轴对应于波长,我有一个名为“lam_gal”的 numpy 数组,y 轴对应于半径 r。我的中心 (r=0) 位于 y=596,由此我计算出我的半径为:

y_vals = np.arange(1125)
radii =np.asarray(0.2 * (596-y_vals))

我的剧情代码:

fig, ax = plt.subplots(1,1, figsize=fig_dim)

# Create a 2D plot of the galaxy spectrum using imshow
im=ax.imshow(data_gal, cmap='binary', extent=(lam_gal[0], lam_gal[-1], radii[0], radii[-1]))

# Set axis labels
ax.set_xlabel('Wavelength')
ax.set_xlim(4900, 5450)
ax.set_ylabel('r')

# Show the plot
plt.show()

结果:

这里的 y 轴有两个问题,首先我如何将我的 y 轴标签设置为全正,因为负半径是不真实的,其次 0-tick 不与中心线(黑线)对齐,但我很确定对于 y=596 这是中心线。

python matplotlib data-analysis axis figure
© www.soinside.com 2019 - 2024. All rights reserved.