matplotlib

底层绘图库,支持全面自定义。适用于需要对每个绘图元素进行精细控制、创建新型图表类型或整合特定科学工作流的场景。可导出PNG/PDF/SVG格式用于发表。快速统计图表请使用seaborn;交互式图表请使用plotly;需符合期刊排版规范的多面板发表级图表请使用scientific-visualization。

安装

热度:14

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=k-dense-ai-scientific-skills-matplotlib&locale=zh&source=copy

Matplotlib - Python 数据可视化绘图技能

技能概述

Matplotlib 是 Python 基础可视化库,用于创建静态、动画和交互式图表。当你需要对每个图表元素进行精细控制、创建新型图表,或将可视化集成到特定科学工作流时,使用此技能。

适用场景

1. 科研论文与学术出版

创建符合期刊要求的出版级多面板图表。支持导出 PNG、PDF、SVG 等矢量格式,精确控制 DPI、颜色映射、字体样式,满足学术发表对图表质量的严格要求。

2. 科学数据探索与分析

配合 NumPy/Pandas 进行数据可视化。支持折线图、散点图、柱状图、直方图、热力图、等高线图、箱线图等多种图表类型,适用于时间序列分析、统计分布、相关性分析等科学计算场景。

3. 自定义可视化开发

当需要超越预设图表类型,创建独特可视化效果时使用。提供面向对象 API(Figure/Axes)实现对每个图表元素的完全控制,包括布局、样式、标注、动画等,可集成到 Jupyter Notebook 或 GUI 应用中。

核心功能

1. 多样化图表类型

支持 10+ 种常见图表类型:折线图(时间序列、趋势)、散点图(变量关系)、柱状图(分类对比)、直方图(数据分布)、热力图(矩阵数据)、等高线图(3D 数据投影)、箱线图、小提琴图、3D 表面图等。

2. 精细样式控制

提供多种样式表(seaborn、ggplot 等),支持 rcParams 全局配置、自定义颜色映射、字体设置、图例位置、网格样式等。可创建颜色友好的可访问性图表,适合学术出版和报告展示。

3. 灵活布局与导出

支持规则网格、马赛克布局、GridSpec 等多种子图排列方式。自动处理元素重叠(constrained_layout)。可导出高分辨率位图(300+ DPI)或矢量格式(PDF/SVG),确保图表在不同媒介下清晰呈现。

常见问题

matplotlib 和 seaborn 有什么区别?

matplotlib 是底层绘图库,提供对每个元素的完全控制;seaborn 是基于 matplotlib 的高层统计绘图库。如果你需要快速绘制统计图表、使用预设的美观样式,选 seaborn;如果需要创建自定义图表、精细控制每个元素或集成特定工作流,用 matplotlib。两者可以配合使用。

如何创建出版级的多面板图表?

使用面向对象接口 fig, axes = plt.subplots() 创建图形。推荐使用 constrained_layout=True 自动处理间距,或用 GridSpec 实现复杂布局。导出时设置 dpi=300(论文)、bbox_inches='tight' 去除多余空白。根据期刊要求选择 PDF/SVG 矢量格式或高分辨率 PNG。

pyplot 接口和面向对象接口有什么区别?

pyplot 是 MATLAB 风格的隐式接口,适合快速交互绘图;面向对象接口(fig, ax)显式管理 Figure 和 Axes 对象,推荐用于生产代码。面向对象方式更适合多子图布局、复杂图表定制和代码维护,能避免 pyplot 状态机可能导致的混乱。