天文背包黑客
天文背包黑客

「開放天文 拉近群眾與星空的距離」 公民天文學家/Astrohackers in Taiwan社群的共同創辦人/承接網站開發及資料科學相關案子的遠距工作者 https://astrobackhacker.tw

「跟著黑蛋用Streamlit速成天文資料分析Web App」系列文[17]:初版一刷系外行星凌日分析頁面

黑蛋在背包客棧頂樓附有高腳桌椅的共同空間,吹著涼風配瓶啤酒,將Lightkurve的功能初步整合到「太陽系外行星資料分析app」中。

他先在「太陽系外行星資料簡介」頁面加入Lightkurve套件的簡介及範例程式,作為取得系外行星資料的第四種方法。然後,他逐步實做出「系外行星凌日分析」頁面第一版要有的功能:

  1. 使用者輸入「系外行星所屬恆星名稱」並選擇「太空望遠鏡觀測任務」後,會搜尋並回傳符合條件的光變曲線資料表。文字輸入框及下拉式選單分別用st.text_inputst.selectbox元件組裝而成,並將使用者輸入、選擇的值傳入Lightkurve的search_lightcurve()函式中,以便回傳光變曲線資料表。
  2. 為了美觀並提供能在表格勾選項目的功能,光變曲線資料表會以之前有用過的streamlit-aggrid來呈現,並只顯示光變曲線資料所屬的「觀測任務」及「觀測年份」這兩個欄位。
  3. 使用者在表格中勾選某個觀測任務後,會下載相應的光變曲線資料,這是透過search_lightcurve()函式所回傳的SearchResult物件的download()功能。
  4. 最後顯示相應的光變曲線圖,上一步驟download()所回傳的LightCurve物件,有plot()功能可以Matplotlib畫出圖,然後再透過st.pyplot元件,將Matplotlib的圖顯示在Streamlit app頁面上。
此系列文由蘇羿豪撰寫,以「創用CC 姓名標示 4.0(CC BY 4.0)國際版授權條款」釋出。另外附上此文所提及的太陽系外行星資料分析app以及完整程式碼連結。



CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…
加载中…

发布评论