Plotnine绘图

在用python做数据分析后进行数据可视化时,大多都会使用matplotlib和seaborn,但这两个python自带库作图相对于R作图来说,稍有逊色,尤其对于使用过R语言的ggplot2,更是觉得无法习惯和使用。但是好东西从来不乏分享,正所谓酒香不怕巷子深,于是适合python平台的一个新的库plotnine被人开发和挖掘出来了,它的语法风格秉持了ggplot2的风格,甚至参数都一样。其代码简洁易学易懂、图形大方流畅是其最大的特点。  

其官网为:https://plotnine.readthedocs.io。

先来看看matplotlib作图情况。

再看plotnine作图。

1、plotnine的安装与导入

跟其他第三方库安装一样,可直接使用pip install plotnine。
使用时需导入该库:from plotnine import *

此处用的0.10.1版本,查看版本如下。

2、基本语法

使用的基本框架模式如下,各种功能用“+”连接叠加,最后用一个完整的括号()首位包裹起来。

( ggplot(df,aes()) + geom_xx())+ scale_xx() + theme() + …)

上面的绘图模式框架就像的公式一样,其中: ggplot用于创建图形, df为数据框, aes为数据中的变量到图形成分映射,即指定x,y; geom_xx()为创建几何对象,如饼图geom_bar,线图geom_line; scale_xx()、theme()为调整坐标轴上的元素,如颜色深浅,大小范围以及图像的图例等。 对于多个图形的叠加,直接在括号内继续用“+”链接即可。 aes()可以放在ggplot()里也可以具体写在geom_xx()里,区别是ggplot()对象里的aes具有全局优先级,在画多个图时体现。 通过上面的基本框架可做如下归纳,分为必须有的函数和可选函数。

必选:(ggplot(data,aes) + geom_xxx()|stat_xxx()) 可选:(scale_xxx() + coord_xxx() + facet_xxx() + guides() + theme()) 选好数据,aes决定映射对象,geom决定映射方式,scale决定映射细节,coord决定坐标轴选择(反转和转换等),facet决定分面,guides决定图例,theme决定整体主题。 先看个简单的例子,数据如下。 date name price totle 0 2023/1/26 a 39.0 2.0 1 2023/2/23 c 34.0 3.0 2 2023/3/22 b 36.0 5.0 3 2023/4/20 d 31.0 4.0 下面开始对name列和price两列做条形图。