ProPlot
ProPlot 库是 Matplotlib 面向对象绘图方法(object-oriented interface)的高级封装,整合了 cartopy/Basemap 地图库、xarray 和 pandas,可弥补 Matplotlib 的部分缺陷。
2.3.1 多子图绘制处理
-
共享轴标签 - ProPlot 中的 figure() 函数的 sharex、sharey、share 参数可用于控制不同的轴标签样式
-
跨度轴标签 - figure() 函数中的 spanx、spany 和 span 参数用于控制是否对 X 轴、Y 轴或两个轴使用“跨度”轴标签,即当多个子图的 X 轴、Y 轴标签相同时,使用一个轴标签替代即可。
-
多子图序号的绘制
ProPlot 库为绘图对象(figure.Figure 和 axes.Axes)提供了灵活的 format() 方法,该方法可用于绘制不同的子图序号样式和位置。format() 函数中的位置参数(abcloc)的可选值见
更简单的颜色条和图例
在子图外部绘制颜色条(colorbar)时,如 fig.colorbar(…, ax=ax),需要从父图中借用部分空间,这可能导致具有多个子图的图形对象的显示出现不对称问题。而在 Matplotlib 中,绘制插入绘图对象内部的颜色条和生成宽度一致的子图外部颜色条通常也很困难,因为插入的颜色条会过宽或过窄,与整个子图存在比例不协调等问题。ProPlot 库中有一个专门用于绘制单个子图或多个连续子图的颜色条和图例的简单框架,该框架将位置参数传递给 ProPlot 的 axes.Axes.colorbar 或axes.Axes.legend,完成特定子图不同位置颜色条或图例的绘制。想要沿图形边绘制颜色条或图例,使用 proplot.figure.Figure.colorbar 和proplot.figure.Figure.legend 即可。
更加美观的颜色和字体
ProPlot 库还附带了其他几种无衬线字体和整个 TeX Gyre 字体系列,这些字体
更加符合一些科技期刊对科研论文配图的绘制要求。图 2-3-6 为使用 ProPlot 的不同颜色映射选项绘制的不同颜色映射的效果图。其中,图 2-3-6(a)为灰色(grays)系颜色映射,图 2-3-6(b)为 Matplotlib 默认的 viridis 颜色映射,图 2-3-6(c)为 Seaborn 中的 mako 颜色映射,图 2-3-6(d)为 ProPlot 中的 marine 颜色映射,图 2-3-6(e)为 cmOcean 中的 dense 颜色映射,图 2-3-6(f)为 Scientific colour maps 中的 batlow 颜色映射。
该文章源自《科研论文配图的绘制与配色基础》书籍的 学习笔记