我正在从FITS文件中读取数据并绘制速度场。我使用set_major_formatter('dd:mm')
作为y轴上的角度,但是对于其他每个刻度,它只显示分钟。我希望每个刻度标签显示完整的度数和分钟数。
fig = plt.figure(dpi=300)
plt.set_cmap('gray')
ax = plt.subplot(111, projection=wcs)
im = ax.imshow(mean_vel, vmin=-115, vmax=-102, origin='lower') # plot data
dec = ax.coords[1]
dec.set_major_formatter('dd:mm')
dec.set_ticks([29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33] *u.deg)
dec.set_ticklabel(size=6)
例如,y轴上的00'
应显示为32°00'
而不是
答案 0 :(得分:0)
正如另一个人所说,这种行为是预期的,并通过 TickLabels
类函数 simplify_labels
(参见 Astropy source)内置到 Astropy 中。 (这是可怕的做法,但是...)注释掉刻度标签定位器 _set_xy_alignments
对 simplify_labels
的调用可以解决标签过度简化的问题。