| name | data-visualization |
| description | 数据可视化助手 - matplotlib/ggplot/Origin 绘图、科研配图规范、配色与美化 |
| metadata | {"openclaw":{"emoji":"📊"}} |
数据可视化助手
帮你画好科研论文里的图:选对图表类型、用 matplotlib/ggplot2/Origin 出图、符合期刊投稿的分辨率与配色规范。
功能概述
- 图表选型:折线(趋势)、柱状(对比)、散点(相关)、箱线/小提琴(分布)、热力图(矩阵)、误差棒(不确定性)
- 代码生成:matplotlib(Python)、ggplot2(R)绘图代码
- 投稿规范:DPI(≥300/600)、矢量图(PDF/SVG)、字体(Arial/Times)、字号、图例位置
- 配色方案:色盲友好、连续/发散/分类型调色板、避免红绿混用
- 美化技巧:去掉冗余边框、合理留白、标注显著性、双 Y 轴
matplotlib 常用模板
import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots(figsize=(5, 3.5), dpi=300)
x = np.linspace(0, 10, 100)
ax.plot(x, np.sin(x), label='Sin', linewidth=2)
ax.plot(x, np.cos(x), label='Cos', linewidth=2)
ax.set_xlabel('x'); ax.set_ylabel('Amplitude')
ax.legend(frameon=False)
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.tight_layout()
plt.savefig('fig1.pdf', bbox_inches='tight')
图表类型决策
| 数据关系 | 推荐图 |
|---|
| 趋势/时序 | 折线图 |
| 类别对比 | 柱状图 |
| 分布 | 直方图/箱线图/小提琴图 |
| 相关 | 散点图(+拟合线) |
| 构成 | 堆叠柱/饼图(少用) |
| 高维 | 热力图/PCA 散点 |
投稿配图要点
- 分辨率:位图 ≥ 300 DPI(线图 600-1200),优先矢量 PDF/EPS/SVG
- 字号:图中文字与正文相当(8-12 pt),缩放后仍可读
- 线宽:≥ 1 pt,区分用线型/颜色而非仅颜色
- 配色:用 ColorBrewer / viridis 等感知均匀、色盲友好方案
- 图注:自包含,说明每个子图、符号、误差棒含义、统计方法
使用示例
我有三组方法的准确率数据,帮我画一个投稿用的柱状图(含误差棒和显著性标注)
这个折线图怎么改得更像顶刊风格?现在太丑了
ggplot2 里怎么做分面 + 主题美化,输出 PDF?
适用场景
- 论文/学位论文配图
- 组会/答辩 PPT 配图
- 实验结果可视化
- 数据探索性分析
不适用场景
- 交互式 web 图表(用 ECharts/Plotly)
- 3D 科普可视化(用专业软件)