{"id":50470295,"url":"https://github.com/yang1bai/scivizkit","last_synced_at":"2026-06-01T10:01:38.731Z","repository":{"id":359003442,"uuid":"1244055919","full_name":"Yang1Bai/SciVizKit","owner":"Yang1Bai","description":"🔬 Scientific visualization toolkit — inspire the best chart for your research data | 激发科研数据最佳可视化方案","archived":false,"fork":false,"pushed_at":"2026-05-20T00:22:51.000Z","size":129,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-20T03:20:04.336Z","etag":null,"topics":["bioinformatics","data-visualization","materials-science","matplotlib","plotly","publication-quality","python","research","scientific-visualization","streamlit"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Yang1Bai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-19T23:33:23.000Z","updated_at":"2026-05-20T01:21:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Yang1Bai/SciVizKit","commit_stats":null,"previous_names":["yang1bai/scivizkit"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Yang1Bai/SciVizKit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yang1Bai%2FSciVizKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yang1Bai%2FSciVizKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yang1Bai%2FSciVizKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yang1Bai%2FSciVizKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yang1Bai","download_url":"https://codeload.github.com/Yang1Bai/SciVizKit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yang1Bai%2FSciVizKit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33769492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioinformatics","data-visualization","materials-science","matplotlib","plotly","publication-quality","python","research","scientific-visualization","streamlit"],"created_at":"2026-06-01T10:01:37.336Z","updated_at":"2026-06-01T10:01:38.716Z","avatar_url":"https://github.com/Yang1Bai.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔬 SciVizKit — Scientific Visualization Toolkit\n\n*Inspire the best visualization for your research data | 激发科研数据最佳可视化方案*\n\n[![Python](https://img.shields.io/badge/Python-3.9%2B-3776AB?logo=python\u0026logoColor=white)](https://python.org)\n[![Streamlit](https://img.shields.io/badge/Streamlit-1.32%2B-FF4B4B?logo=streamlit\u0026logoColor=white)](https://streamlit.io)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Charts](https://img.shields.io/badge/Charts-80%2B-667eea)](.)\n[![Live Demo](https://img.shields.io/badge/🚀_Live_Demo-Streamlit-FF4B4B)](https://scivizkit-hvbzujsahst6uec2pupvrx.streamlit.app/)\n\n---\n\n## 🖼️ Gallery | 效果展示\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/gallery/01_violin_distribution.png\" width=\"45%\"\u003e\n  \u003cimg src=\"assets/gallery/02_heatmap_correlation.png\" width=\"45%\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/gallery/03_volcano_plot.png\" width=\"45%\"\u003e\n  \u003cimg src=\"assets/gallery/04_radar_chart.png\" width=\"45%\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/gallery/05_survival_curve.png\" width=\"45%\"\u003e\n  \u003cimg src=\"assets/gallery/06_network_graph.png\" width=\"45%\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/gallery/07_3d_scatter.png\" width=\"45%\"\u003e\n  \u003cimg src=\"assets/gallery/08_publication_panel.png\" width=\"45%\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/gallery/09_radial_bar_sig.png\" width=\"45%\"\u003e\n  \u003cimg src=\"assets/gallery/10_bar_significance.png\" width=\"45%\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/gallery/11_ridgeline.png\" width=\"45%\"\u003e\n  \u003cimg src=\"assets/gallery/12_sankey.png\" width=\"45%\"\u003e\n\u003c/p\u003e\n\n---\n\n## 🚀 Live Demo | 在线体验\n\n**👉 [https://scivizkit-hvbzujsahst6uec2pupvrx.streamlit.app/](https://scivizkit-hvbzujsahst6uec2pupvrx.streamlit.app/)**\n\n\u003e No installation needed — upload your data and explore 80+ chart types instantly.\n\u003e 无需安装 — 直接上传数据，即刻探索 80+ 种科研图表。\n\n---\n\n\u003e **[English](#english) | [中文](#中文)**\n\n---\n\n\u003ca name=\"english\"\u003e\u003c/a\u003e\n## 🇬🇧 English\n\n### What is SciVizKit?\n\nSciVizKit is an open-source scientific visualization toolkit built with Streamlit. Upload any dataset (CSV or Excel), and it automatically generates **80+ chart types** across 10 categories — from standard statistics charts to domain-specific scientific plots. Pick the best one for your paper, download publication-quality figures (300 DPI), and copy the Python code.\n\n### ✨ Features\n\n- 📊 **80+ chart types** across 10 categories (Distribution, Comparison, Correlation, Time Series, Proportional, Network, Scientific, Text, Geographic, 3D)\n- 🌳 **Chart Guide** — interactive decision tree that recommends the best chart based on your data and goal\n- 🖼️ **Figure Panel Builder** — combine multiple charts into a single publication-ready multi-panel figure (PNG/SVG, 300–600 DPI)\n- 🎨 **Journal color palettes** — Nature, Science, Cell, ACS, Colorblind Safe\n- 🤖 **Smart column detection** — auto-detects numeric, categorical, datetime columns\n- 🎯 **Domain-aware** — Biology \u0026 Genomics, Chemistry \u0026 Materials, Medicine \u0026 Clinical, Physics \u0026 Engineering, Social Science\n- 💻 **Copy-paste Python code** for every chart\n- ⚡ **Lazy loading** — generate charts by category, not all at once\n- ⭐ **Favorites** — star charts you like, filter to favorites only\n- 🚀 **Zero-config** — works with any tabular data, no setup needed\n\n### 🗂️ Chart Types\n\n| Category | Count | Examples |\n|----------|-------|---------|\n| Distribution | 11 | Histogram, Violin, Ridgeline, Raincloud, ECDF |\n| Comparison | 16 | Bar, Lollipop, Dumbbell, Slope, Tornado, Radial Bar, **Bar + Significance** ✨ |\n| Correlation | 9 | Scatter, Hexbin, 2D KDE, Pair Plot, Parallel Coords |\n| Time Series | 9 | Line, Streamgraph, Bump Chart, Calendar Heatmap, Candlestick |\n| Proportional | 9 | Treemap, Sunburst, Waffle, Marimekko, Circle Packing, **Jade Ring (玉珏图)** ✨ |\n| Network | 6 | Sankey, Chord, Arc Diagram, Alluvial, Network Graph |\n| Scientific | 16 | Volcano, PCA, UMAP, t-SNE, ROC, Kaplan-Meier, Manhattan, Forest, **Radial Bar + Sig** ✨ |\n| Text | 2 | Word Cloud, Venn Diagram |\n| Geographic | 2 | Choropleth Map, Bubble Map |\n| 3D | 3 | 3D Scatter, 3D Surface, 3D Bar |\n| **Total** | **83** | |\n\n\u003e ✨ = newly added, NGplot-inspired charts\n\n---\n\n## 🌐 Online Companion | 在线配套工具\n\n**[NGplot · bioinforw.com/sciZ](https://www.bioinforw.com/sciZ)**\n\nSciVizKit gives you open-source Python code you can copy and own. For rapid **interactive** exploration with 700+ ready-made templates (no coding required), NGplot is an excellent companion:\n\n| Feature | SciVizKit | NGplot |\n|---------|-----------|--------|\n| Open-source | ✅ | ❌ |\n| Python code export | ✅ | ✅ |\n| Chart templates | 83 | 700+ |\n| No-code web UI | ✅ Streamlit | ✅ |\n| Error bar + significance | ✅ (bar_sig, radial_bar_sig) | ✅ |\n| 玉珏图 / Jade Ring | ✅ | ✅ |\n| Publication-quality export | ✅ 300 DPI | ✅ |\n| Local/offline | ✅ | ❌ |\n\n\u003e SciVizKit charts inspired by NGplot are marked ✨ in the table above.\n\n---\n\n### 🚀 Quick Start\n\n```bash\ngit clone https://github.com/Yang1Bai/SciVizKit.git\ncd SciVizKit\npip install -r requirements.txt\nstreamlit run app.py\n```\n\nOpens at `http://localhost:8501` 🎉\n\n### ☁️ Deploy to Streamlit Cloud (Free)\n\n1. Fork this repo on GitHub\n2. Go to [share.streamlit.io](https://share.streamlit.io) and sign in with GitHub\n3. Click **\"New app\"** → select `SciVizKit` → branch `main` → file `app.py`\n4. Click **Deploy** — live in ~3 minutes\n\n### 📂 Project Structure\n\n```\nSciVizKit/\n├── app.py                     # Main Streamlit app\n├── requirements.txt\n├── .streamlit/config.toml     # Theme config\n├── src/\n│   ├── data_analyzer.py       # Column type detection\n│   ├── chart_registry.py      # Registry of 80+ chart types\n│   ├── decision_tree.py       # Chart recommendation tree\n│   ├── figure_panel.py        # Multi-panel figure builder\n│   ├── themes/palettes.py     # Journal color palettes\n│   └── generators/            # Chart generation modules\n│       ├── distribution.py\n│       ├── comparison.py\n│       ├── correlation.py\n│       ├── timeseries.py\n│       ├── proportional.py\n│       ├── network.py\n│       ├── scientific.py\n│       ├── text_viz.py\n│       ├── geo_viz.py\n│       └── threed_viz.py\n└── examples/\n    ├── sample_general.csv\n    ├── sample_biology.csv\n    └── sample_chemistry.csv\n```\n\n### 🤝 Contributing\n\n1. Fork → create branch `feature/your-chart`\n2. Add chart metadata to `src/chart_registry.py`\n3. Implement generator in the appropriate `src/generators/*.py`\n4. Submit a pull request\n\n### 📝 License\n\nMIT License — see [LICENSE](LICENSE) for details.\n\n---\n\n\u003ca name=\"中文\"\u003e\u003c/a\u003e\n## 🇨🇳 中文\n\n### 什么是 SciVizKit？\n\nSciVizKit 是一个基于 Streamlit 的开源科研可视化工具。上传任意数据集（CSV 或 Excel），自动生成 **80+ 种图表**，覆盖 10 大类型——从基础统计图到领域专用科研图。选出最适合论文的方案，下载发表级图片（300 DPI），并一键复制 Python 代码。\n\n### ✨ 核心功能\n\n- 📊 **80+ 种图表**，覆盖 10 大类（分布/比较/相关性/时间序列/比例/网络/科研专用/文本/地理/3D）\n- 🌳 **图表引导** — 交互式决策树，根据你的数据和目标推荐最佳图表\n- 🖼️ **多图面板** — 把多张图拼成一张发表级多面板图（PNG/SVG，300–600 DPI）\n- 🎨 **期刊配色** — Nature、Science、Cell、ACS、色盲友好\n- 🤖 **智能列检测** — 自动识别数值、分类、时间列\n- 🎯 **领域专用** — 生物基因组、化学材料、医学临床、物理工程、社会科学\n- 💻 **每张图附带可复制的 Python 代码**\n- ⚡ **懒加载** — 按类别分批生成，秒级响应\n- ⭐ **收藏功能** — 标记喜欢的图，一键过滤\n- 🚀 **零配置** — 任何表格数据直接用，无需额外设置\n\n### 🗂️ 图表类型\n\n| 类别 | 数量 | 代表图表 |\n|------|------|---------|\n| 分布 Distribution | 11 | 直方图、提琴图、Ridgeline、雨云图、ECDF |\n| 比较 Comparison | 15 | 条形图、棒棒糖、哑铃图、斜坡图、龙卷风图 |\n| 相关性 Correlation | 9 | 散点图、六边形密度、2D KDE、平行坐标 |\n| 时间序列 Time Series | 9 | 折线图、流图、排名图、日历热力图、K线图 |\n| 比例 Proportional | 8 | 树图、旭日图、华夫饼图、马赛克图、圆形填充 |\n| 网络 Network | 6 | Sankey、弦图、弧线图、冲积图、网络图 |\n| 科研专用 Scientific | 15 | 火山图、PCA、UMAP、t-SNE、ROC、生存曲线、曼哈顿图 |\n| 文本 Text | 2 | 词云、韦恩图 |\n| 地理 Geographic | 2 | 等值线地图、气泡地图 |\n| 3D | 3 | 3D散点、3D曲面、3D柱图 |\n| **合计** | **80+** | |\n\n### 🚀 本地运行\n\n```bash\ngit clone https://github.com/Yang1Bai/SciVizKit.git\ncd SciVizKit\npip install -r requirements.txt\nstreamlit run app.py\n```\n\n浏览器访问 `http://localhost:8501` 即可使用 🎉\n\n### ☁️ 部署到 Streamlit Cloud（免费）\n\n1. Fork 本仓库到你的 GitHub 账号\n2. 访问 [share.streamlit.io](https://share.streamlit.io)，用 GitHub 账号登录\n3. 点击 **\"New app\"** → 选择仓库 `SciVizKit` → 分支 `main` → 入口文件 `app.py`\n4. 点击 **Deploy** — 约 3 分钟后获得公开链接\n\n### 📂 项目结构\n\n```\nSciVizKit/\n├── app.py                     # 主应用\n├── requirements.txt           # 依赖\n├── .streamlit/config.toml     # 主题配置\n├── src/\n│   ├── data_analyzer.py       # 数据列类型检测\n│   ├── chart_registry.py      # 80+ 图表注册表\n│   ├── decision_tree.py       # 图表推荐决策树\n│   ├── figure_panel.py        # 多图面板构建器\n│   ├── themes/palettes.py     # 期刊配色方案\n│   └── generators/            # 各类图表生成模块\n└── examples/                  # 示例数据集\n```\n\n### 🤝 贡献指南\n\n1. Fork 本仓库，创建分支 `feature/你的图表名`\n2. 在 `src/chart_registry.py` 添加图表元数据\n3. 在对应的 `src/generators/*.py` 实现生成函数\n4. 提交 Pull Request\n\n### 📝 开源协议\n\nMIT License，详见 [LICENSE](LICENSE)。\n\n---\n\n*为科研人员、数据科学家和所有热爱好图表的人而生。*\n*Made for researchers, data scientists, and anyone who loves great charts.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyang1bai%2Fscivizkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyang1bai%2Fscivizkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyang1bai%2Fscivizkit/lists"}