一、Matplotlib(python原生绘图库)
官方网站及文档:https://matplotlib.org/
以下是基本示例,官方还有大量的其他示例代码。
链接:https://matplotlib.org/stable/gallery/index.html
教程:https://github.com/rougier/scientific-visualization-book
1、二维数组
2、三维数组
3、数据分析
4、非结构数据
5、3D绘图
二、 Seaborn(依赖matplotlib、pandas)
官网:https://seaborn.pydata.org/
简介:Seaborn就是让困难的东西更加简单。它是针对统计绘图的,一般来说,能满足数据分析90%的绘图需求。Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,同时它能高度兼容numpy与pandas数据结构以及scipy与statsmodels等统计模式。
以下是官方示例:
三、Cartopy(依赖matplotlib)
Cartopy是一个Python包,用于地理空间数据处理,以便生成地图和其他地理空间数据分析。2017年,Basemap被宣布弃用,CartoPy被指定为Basemap的替代品。Cartopy 适合于地球科学家,特别是海洋学家和气象学家的需求。Cartopy对于大尺度/小比例尺数据制图特别有用,CartoPy 自带的数据(Shapefile 以及栅格数据)会在进行时下载并缓存。
1、线与多边形
2、 标量数据
3、 矢量数据
4、web服务数据
5、经纬网
6、杂项
四、Proplot (依赖matplotlib)
Proplot 的核心任务是为 matplotlib 最苛刻的用户提供更流畅的绘图体验。我们通过扩展 matplotlib 的面向对象接口来实现这一点。由于不同的设计选择和向后兼容性考虑,Proplot 所做的更改很难证明其合理性或很难纳入 matplotlib 本身。
Prolot 唯一的强依赖是 matplotlib。弱依赖项是 cartopy、 basemap、 xarray 和 pandas。
Proplot包括四个外部包的可选集成功能:pandas和xarray包,用于处理带注释的表和数组,以及cartopy和basemap地理绘图包。
五、metpy
官网:https://unidata.github.io/MetPy/latest/
说明:Metpy 是应用于气象领域的开源Python包,可以进行气象数据的处理,可视化以及气象要素的计算等。在气象数据处理方面,可以读取并处理很多格式的数据,比如:WSR-88D,NEXRAD及GINI卫星数据,而且提供了接口可以直接获取 uwyo 提供的探空数据。在可视化方面,其提供了绘制 Skewt 和 站点图的函数,可以非常方便的创建图形。绘制 Skewt 时提供了不少高级绘制方法,可以很方便的添加 hodograph 等信息;绘制 站点图 时也可以设置常用的气象符号。
Met-Py当前支持Python>=3.8,安装环境:
matplotlib>=3.3.0
numpy>=1.18.0
pandas>=1.0.0
pint>=0.10.1
pooch>=1.2.0
pyproj>=2.5.0
scipy>=1.4.0
traitlets>=4.3.0
xarray>=0.14.1
示例
六、plotnine
官网:https://plotnine.readthedocs.io/
说明:plotnine是Python中基于ggplot2图形语法的一个实现。该语法允许用户通过将数据显式映射到构成绘图的可视对象来绘制绘图。
使用语法绘图功能强大,它使自定义(以及其他复杂的)绘图易于思考和创建,而简单的绘图保持简单。
基本语法
from plotnine import ggplot, geom_point, aes, stat_smooth, facet_wrap
from plotnine.data import mtcars
(ggplot(mtcars, aes('wt', 'mpg', color='factor(gear)'))
+ geom_point()
+ stat_smooth(method='lm')
+ facet_wrap('~gear'))
官方示例
七、yt
官网:https://yt-project.org/
官方文档:https://yt-project.org/docs/4.1.0/
说明:Yt支持结构化、可变分辨率网格、非结构化网格以及离散或采样数据(如粒子)。yt专注于推动有物理意义的探索,已应用于天体物理学、地震学、核工程、分子动力学和海洋学等领域。
安装:
Pip
python -m pip install --upgrade pip
python -m pip install --user yt
Conda
conda install --channel conda-forge yt
官网提供Cookbook入门,https://yt-project.org/doc/cookbook/index.html,
官网示例