SuperAPI AI 工具集

bio-data-visualization-matplotlib-fundamentals

数据与分析

查看项目

更新于 10-16 05:49

技能介绍

用途:在 Python 中制作符合期刊要求的出版级图表。核心是使用面向对象的 Figure/Axes API(fig, ax = plt.subplots()),而非 pyplot 状态机;pyplot 仅用于笔记本草稿。

主要能力:constrained_layout 自动对齐子图、防止标签裁切;rcParams 统一控制字号、线宽、DPI;pdf.fonttype=42/ps.fonttype=42 嵌入 TrueType 字体,生成可搜索、可编辑的 PDF;内置散点、折线、条形、箱线、直方图、热图等图表类型,并可选用 CVD 安全配色(如 okabe_ito、viridis、cmcrameri)与对称发散色标。

用法要点:单图 fig, ax = plt.subplots(figsize=(89/25.4, 70/25.4), constrained_layout=True),figsize 单位为英寸,毫米需除以 25.4;多子图用 fig, axes = plt.subplots(2, 3, ...) 后遍历 axes.flat。seaborn 通过 ax= 参数共用 Figure/Axes;seaborn 0.13+ 提供 objects 语法接口。保存可输出 PDF(矢量文字+栅格散点)、PNG、TIFF、SVG。

适用场景:期刊投稿图、多面板图、需要矢量文字与可搜索文本的图表、大数据量散点图。

限制与常见问题:默认 Type-3 字体会被部分期刊拒收;tight_layout 在含 colorbar 的复杂网格上易出错,应改用 constrained_layout;pyplot 在多子图中会修改错误坐标轴;大 N 矢量散点会让 PDF 体积暴涨,需对散点设置 rasterized=True;seaborn 图级函数(displot、relplot、catplot)返回 FacetGrid,需用 .set_axis_labels() 而非 .set_xlabel()。参考版本为 matplotlib 3.8+、seaborn 0.13+、numpy 1.26+、pandas 2.2+,版本不一致时需先核验 API。