我正在使用Aplpy制作图像的子图,但是事情似乎并没有按预期进行。
首先,滴答声。有时我可以在子图中显示第一个图像的刻度线,但是即使那样,它还是非常不一致并且永远无法正确显示。更改刻度间距,颜色,长度等无济于事。
然后是颜色条。在不尝试显示颜色条的情况下,图像大小正确且位置正确。但是一旦我在任何图上添加了颜色条,事情就会变得很混乱。
此处显示了带有勾号和颜色条码的注释:
如您所见,它们每个都占据图像的一半,标签也很清晰,正是我想要的。
取消注释代码的勾号部分:
如您所见,只有第一张图像有刻度。即使那样,它们也太长了。但是,当我将刻度线长度更改为小于约50的任何值时,它们将无法显示。现在到颜色栏。
取消注释颜色条的代码:
显示的第一个图像比实际显示的要大得多,而第二个图像很小。它是如此之小,我什至都不知道是否显示了颜色栏。第一张图像在很多方面都是错误的:图像和颜色栏一起旋转了180度。标签和颜色栏位于图像内部。比例尺超出图像。
任何帮助将不胜感激。如果您对我可以使用的其他软件包有任何建议,请告诉我。我愿意尝试其他方法,但是我不知道任何可以使用FITS图像完成所需功能的软件包。最终,我希望它看起来像这样,除了并排:
这是我的代码:
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()