「跟著黑蛋用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以及完整程式碼連結。

Subscribe to 天文背包黑客
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.