我正在绘制几张FITS图像,旁边还有一个颜色条。我主要使用Aplpy来绘制图像,包括颜色条。据我所知,Aplpy确实使用/依赖matplotlib来实现它的绘图机制,所以如果有一种方法可以在Aplpy或Matplotlib中做我想要做的事情,我认为它应该可以工作。
图像的默认单位是Jy (天文单位)。但是这些值都很小,最大值通常是0.01Jy。当我显示色条时,刻度标签以相应的单位显示,并且有许多零,并且占用了太多空间。
有没有办法让色条的单位显示为mJy (Jy的1/1000)?
例如,当前的刻度是: 0.000,0.002,0.004,...我希望它们是: 0,2,4,...
解决方案可以是缩放FITS图像本身,或者以某种方式调整色条。不管怎样,我都不知道该怎么做...
提前谢谢。
发布于 2018-09-27 07:37:23
我想有很多选择。其中之一是为色条提供一个FuncFormatter
,
func = lambda x,pos: "{:g}".format(x*1000)
fmt = matplotlib.ticker.FuncFormatter(func)
plt.colorbar(..., format=fmt)
现在我不知道Aplpy返回什么,问题也没有显示任何代码,所以我不能为那个特定的情况提供一个有效的解决方案。
https://stackoverflow.com/questions/52524883
复制相似问题