2401_82608767 2024-11-14 14:56 采纳率: 0%
浏览 15
已结题

天体光谱图的的绘制并得到星表

通过百度网盘分享的文件:HB_candi…
链接:https://pan.baidu.com/s/1qAzGNnzdWXgkNgKOtS81ng 
提取码:43ty

下载 HB_candidate.txt 文件,通过表中的(RA,DEC)与LAMOST DR8 数据库交叉,得到相应的光谱,去掉重复的源,选出snru最大的光谱并下载保存。

1、对下载的光谱进行归一化处理,选两条天体光谱归一化后的光谱图上传;

2、构造下载光谱对应的输入星表(.txt格式),表中应包含spectrum name, gaia source id, RA, DEC, snru, snrg, snri, parallax (plx), parallax_err (e_plx)等列。构造好后上传星表。

  • 写回答

26条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-11-14 14:56
    关注
    获得0.60元问题酬金

    以下回复引自免费微信小程序:皆我百晓生。 如问题解决,还请采纳。如仍有疑问,请回复留言或私信博主,以便获得更精准的帮助。

    这个问题可以通过PYTHON的MATPLOTLIB库来解决。首先,你需要从网页中下载HB_CANDIDATE.TXT文件,然后使用MATPLOTLIB库中的PLOT函数和AX类绘制天体光谱图,并计算星表。

    以下是一个简单的示例:

    IMPORT MATPLOTLIB.PYPLOT AS PLT
    FROM ASTROPY.IO IMPORT FITS
    
    # 读取HB_CANDIDATE.TXT文件
    WITH OPEN('HB_CANDIDATE.TXT', 'R') AS F:
        LINES = F.READLINES()
    
    # 创建一个空的AX对象
    FIG, AX = PLT.SUBPLOTS()
    
    # 绘制星表
    FOR LINE IN LINES[2:]:
        PARTS = LINE.SPLIT()
        IF LEN(PARTS) == 5:
            X = FLOAT(PARTS[0])
            Y = FLOAT(PARTS[1])
            Z = FLOAT(PARTS[2])
            R = FLOAT(PARTS[3])
            M = FLOAT(PARTS[4])
            AX.PLOT([X,Y],[Z,M],LABEL='星表')
    
    # 添加星表标签
    PLT.LEGEND(LOC=0)
    PLT.TITLE('星表')
    PLT.XLABEL('X坐标')
    PLT.YLABEL('Y坐标')
    PLT.SHOW()
    
    # 计算星表
    STAR_TABLE = {}
    FOR LINE IN LINES[2:]:
        PARTS = LINE.SPLIT()
        IF LEN(PARTS) == 6:
            STAR_ID = PARTS[0]
            STARS = [FLOAT(STAR_ID), FLOAT(PARTS[1]), FLOAT(PARTS[2]), FLOAT(PARTS[3]), FLOAT(PARTS[4])]
            STAR_TABLE[(STAR_ID,)]=STARS
    
    # 将星表存储到HB_CANDIDATE.TXT文件中
    WITH OPEN('HB_CANDIDATE.TXT', 'W') AS F:
        FOR ID, VALUE IN SORTED(STAR_TABLE.ITEMS()):
            F.WRITE(F'{ID}, {VALUE}\N')
    

    这段代码会读取HB_CANDIDATE.TXT文件并将其解析为星表。然后它会将这些星表存储到HB_CANDIDATE.TXT文件中。最后,它会在图形中显示星表。

    请注意,这只是一个基本的示例。在实际应用中,你可能需要处理更复杂的天文数据集,或者对星表进行更深入的分析。此外,这个例子没有处理任何误差或错误,所以如果你的数据有误,你可能会收到警告或错误信息。

    评论

报告相同问题?

问题事件

  • 系统已结题 11月22日
  • 创建了问题 11月14日