0

我正在绘制几个 FITS 图像以及它们旁边的颜色条。我主要使用 Aplpy 绘制图像,包括颜色条。据我了解,Aplpy 确实使用/依赖 matplotlib 的绘图机制,所以如果有一种方法可以在 Aplpy 或 Matplotlib 中做我想做的事,我认为这应该可行。

图像的默认单位是 Jy(天文单位)。但这些值都非常小,最大值通常为 0.01 Jy。当我显示颜色条时,刻度标签在相应的单位中并且有很多零并且占用太多空间。

有什么方法可以让颜色条的单位显示为 mJy(Jy 的 1/1000)?

例如,当前刻度为:0.000、0.002、0.004、...我希望它们为:0、2、4、...

解决方案可能是缩放 FITS 图像本身,或者以某种方式调整颜色条。反正我也不知道怎么办...

提前致谢。

4

1 回答 1

0

我想有很多选择。其中之一是向颜色条提供 a FuncFormatter

func = lambda x,pos: "{:g}".format(x*1000)
fmt = matplotlib.ticker.FuncFormatter(func)

plt.colorbar(..., format=fmt)

现在我不知道 Aplpy 返回什么,并且问题没有显示任何代码,因此我无法为该特定情况提供有效的解决方案。

于 2018-09-26T23:37:22.930 回答