始终在wcs轴上显示整个刻度标签

时间:2017-04-23 21:10:47

标签: python matplotlib formatting astropy

我正在从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)

Current image

例如,y轴上的00'应显示为32°00'而不是

1 个答案:

答案 0 :(得分:0)

正如另一个人所说,这种行为是预期的,并通过 TickLabels 类函数 simplify_labels(参见 Astropy source)内置到 Astropy 中。 (这是可怕的做法,但是...)注释掉刻度标签定位器 _set_xy_alignmentssimplify_labels 的调用可以解决标签过度简化的问题。