gpt4 book ai didi

python - 使用 imshow 绘制二维数组,设置轴值

转载 作者:太空宇宙 更新时间:2023-11-03 16:31:45 25 4
gpt4 key购买 nike

我必须绘制尺寸为 (2779, 1334) 的二维数组(称为 para_beta)。这些尺寸是指进行测量的(时间、高度)。

当我使用代码进行绘图时,x 轴和 y 轴刻度只是数组维度的计数,并不反射(reflect)时间或高度。我有 time_hour (len = 2779) 和海拔 (len = 1334) 列表,它们给出了实际时间和高度,并且需要是 x 和 y 轴值。我该怎么做呢?

#Importing variables (from netcdf file)
para_beta_raw = nc_file.variables['para_beta'][:] #Dim = time, height
para_beta = np.swapaxes(para_beta,0,1) # swap axes to put time on x axis
time_hour = time_bnds.tolist()
altitude = height_raw.tolist()

fig = plt.figure('Parallel')
ax1 = fig.add_subplot(111)
im = ax1.imshow(para_beta1, aspect = 'auto', cmap = 'jet', interpolation = 'none', origin = 'lowest')
cb = plt.colorbar(im, label = 'Parallel ATB [$m^{-1}\,sr^{-1}$]')
cb.set_clim([0.0001, 1.0])
ax1.set_xlabel('Time (Decimal hours)')
ax1.set_ylabel('Height (km)')
plt.show()

我尝试过使用 extent 和使用 ax1.set_xticklabels(time_hour) 但这些不起作用。我包含了上述代码的结果图 - 如果正确的话,x 轴应延伸到 24,y 轴应延伸到 20。

enter image description here

最佳答案

para_beta 是 2D(时间 x 高度),对吗?然后读入调用需要反射(reflect)这两个维度:

para_beta_raw = nc_file.variables['para_beta'][:,:](注意两个冒号,而不是一个)。

关于python - 使用 imshow 绘制二维数组,设置轴值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37546769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com