2 篇文章带有标签 “data-visualization”

SpaceX S-1 招股说明书数据可视化网站

这是一个使用 Kimi 网站 基于 SpaceX S-1 招股说明书SpaceX 官方网 制作的网站,以视觉化的方式展示了据称提取自 SpaceX 于 2026 年 5 月 20 日向 SEC 提交的 S-1 注册声明的数据。整体风格偏向科幻和未来感,配有 AI 生成的航天主题图片。

网站内容可以分为以下几个主要板块:

1. 使命宣言与关键数据概览

  • 核心理念:"让生命成为多行星物种",强调通过第一性原理思维颠覆航天工业。
  • 核心运营数据
    • 太空发射:170 次/年(2025 年)
    • 星链星座:约 9,600 颗在轨卫星,覆盖 164 个国家,1,030 万订阅用户
    • 星舰研发:2025 年投入 30 亿美元+
    • AI 算力:COLOSSUS 训练集群,1GW 规模

2. 财务数据 · 星际商业版图

  • 2025 年收入:186.74 亿美元,同比增长 +33.2%
  • 2026 年 Q1 收入:环比增长 +15.4%
  • 2025 年入轨载荷:占全球轨道载荷质量的 80% 以上
  • 2025 年发射次数:170 次(2024 年为 138 次)
  • 猎鹰 9 号成功率:行业领先可靠性
  • Starlink ARPU:每用户每月收入(2026Q1 数据)

Gradio DataFrame

Gradio DataFrame

import pandas as pd
import gradio as gr

def read_csv_from_text2sql(file_path="data/text2sql.csv"):
    try:
        df = pd.read_csv(file_path)
        return df
    except Exception as e:
        return pd.DataFrame([{"error": f"❌ {e}"}])

def selected_text2sql_dataframe(selected_index: gr.SelectData, df: gr.DataFrame):
    selected_row = df.iloc[selected_index.index[0]]
    text = selected_row.get('Text', '')
    sql = selected_row.get('SQL', '')
    return text, sql

with gr.Blocks() as demo:
    # UI
    upload_button = gr.UploadButton(label="上传 Text2SQL CSV 文件", 
                                    file_types = ['.csv'], 
                                    file_count = "single")
    df_text2sql = gr.Dataframe(headers=["Text", "SQL"], 
                                type="pandas", 
                                col_count=2, 
                                value=read_csv_from_text2sql,
                                interactive=False)
    with gr.Row():
        textbox_text = gr.Textbox(label="Text", lines=4)
        textbox_sql = gr.Textbox(label="SQL", lines=4)

    # Event
    upload_button.upload(fn=read_csv_from_text2sql, 
                            inputs=upload_button, 
                            outputs=df_text2sql)
    df_text2sql.select(fn=selected_text2sql_dataframe,
                        inputs=df_text2sql,
                        outputs=[textbox_text, textbox_sql])

demo.queue(api_open=False)
demo.launch(max_threads=30)