高性能科研绘图配色工具
Tip
本项目旨在解决科研绘图中“配色方案”与“数据呈现”割裂的痛点。
1. 架构设计与技术栈
[!定义]
- 前端交互 (UI):
Shiny for Python。利用其 Reactive 机制实现状态管理与 DOM 更新。- 绘图引擎 (Rendering):
Plotnine(基于 Grammar of Graphics)。提供符合学术标准的统计图表绘制。
2. 核心模块实现
2.1 数据驱动
- 配色空间: 解析
colors.txt构建颜色向量空间,支持基于基数的过滤算法。 - 图表模板库: 预置 12 种统计模型,覆盖科研绘图的三大维度:
- 分布: Boxplot, Violin, Ridgeline, ECDF.
- 关系: Scatter, Line, Heatmap.
- 评估: ROC Curve, Confusion Matrix.
2.2 响应式布局
- 网格系统: 使用
layout_column_wrap构建自适应网格,确保在不同分辨率下的可视性。 - 状态同步: 通过 JavaScript 钩子实现“侧边栏配置 全局图表状态”的双向绑定。
项目哲学
造轮子不是为了未来能够简单复用,而是为了能一秒出图。
颜色的选择也尤为关键:不应该盲目选择配色,而是基于配色基础和配色理论的实践调配配色组,综合来说,长期的取色收藏和更新才是项目的目的。