Aplpy刻度和颜色栏无法正确显示

时间:2018-08-20 18:05:15

标签: python-3.x plot astronomy fits aplpy

我正在使用Aplpy制作图像的子图,但是事情似乎并没有按预期进行。

首先,滴答声。有时我可以在子图中显示第一个图像的刻度线,但是即使那样,它还是非常不一致并且永远无法正确显示。更改刻度间距,颜色,长度等无济于事。

然后是颜色条。在不尝试显示颜色条的情况下,图像大小正确且位置正确。但是一旦我在任何图上添加了颜色条,事情就会变得很混乱。

此处显示了带有勾号和颜色条码的注释:

No Ticks, No Colorbar

如您所见,它们每个都占据图像的一半,标签也很清晰,正是我想要的。

取消注释代码的勾号部分:

Yes Ticks, No Colorbar

如您所见,只有第一张图像有刻度。即使那样,它们也太长了。但是,当我将刻度线长度更改为小于约50的任何值时,它们将无法显示。现在到颜色栏。

取消注释颜色条的代码:

Yes Ticks, Yes Colorbar

显示的第一个图像比实际显示的要大得多,而第二个图像很小。它是如此之小,我什至都不知道是否显示了颜色栏。第一张图像在很多方面都是错误的:图像和颜色栏一起旋转了180度。标签和颜色栏位于图像内部。比例尺超出图像。

任何帮助将不胜感激。如果您对我可以使用的其他软件包有任何建议,请告诉我。我愿意尝试其他方法,但是我不知道任何可以使用FITS图像完成所需功能的软件包。最终,我希望它看起来像这样,除了并排:

This is what I want

这是我的代码:

import aplpy
import os
from astropy import units as u
import matplotlib.pyplot as plt

#2017
source = '/Users/johnwendebornmac/Documents/FUorVariability/NOEMA/NOEMA_2017/Gaslines/FITS Images/'
targets = [['V1735CYG-13CO', 'V1735CYG-C18O'], 
       ['V2494CYG-13CO', 'V2494CYG-C18O'],
       ['V2495CYG-13CO', 'V2495CYG-C18O']]
rms = [[0.14, 0.09], [0.16, 0.12], [0.10, 0.09]]



i=0
for targ,r in zip(targets,rms):
    fig = plt.figure(figsize=(8,8))

    f1 = aplpy.FITSFigure(source + targ[0] + '.integrated.fits', figure=fig, subplot=[0.05,0.5,0.4,0.4])
    f1.show_colorscale(cmap='gist_heat')
    f1.hide_xaxis_label()
    f1.hide_xtick_labels()
    f1.set_title(targ[0])
    f1.add_scalebar(10*u.arcsecond)          
    f1.scalebar.set_frame(True)
    f1.scalebar.set_color('black')
    f1.scalebar.set_label('10 "')
    r1=r[0]
    f1.show_contour(data = source + targ[0] + '.integrated.fits', linewidths=0.5, colors = 'black', levels = [3*r1, 5*r1, 7*r1, 9*r1, 11*r1])

    f2 = aplpy.FITSFigure(source + targ[1] + '.integrated.fits', figure=fig, subplot=[0.5,0.5,0.4,0.4])
    f2.show_colorscale(cmap='gist_heat')
    f2.hide_yaxis_label()
    f2.hide_ytick_labels()
    f2.hide_xaxis_label()
    f2.hide_xtick_labels()
    f2.set_title(targ[1])
    f2.add_scalebar(10*u.arcsecond)          
    f2.scalebar.set_frame(True)
    f2.scalebar.set_color('black')
    f2.scalebar.set_label('10 "')
    r2=r[1]
    f2.show_contour(data = source + targ[1] + '.integrated.fits', linewidths=0.5, colors = 'black', levels = [3*r2, 5*r2, 7*r2, 9*r2, 11*r2])
    #Ticks
    f1.ticks.set_color('white')
    f1.ticks.set_length(100)
    f1.ticks.set_xspacing('auto')
    f1.ticks.set_yspacing('auto')
    f1.ticks.show()

    f2.ticks.set_color('white')
    f2.ticks.set_length(100)
    f2.ticks.set_xspacing('auto')
    f2.ticks.set_yspacing('auto')
    f2.ticks.show()

    #Colorbar
    f1.add_colorbar()
    f1.colorbar.set_location('right')
    f1.colorbar.set_axis_label_text('Flux (mJy/beam)')
    f1.colorbar.show()

    f2.add_colorbar()
    f2.colorbar.set_location('right')
    f2.colorbar.set_axis_label_text('Flux (mJy/beam)')
    f2.colorbar.show()

0 个答案:

没有答案