今天是我的可视化课程上线的第202天,目前学员403人,每篇原创公众号都会记录这个人数,用来督促和激励我的原创内容。目前课程的主要方向是 科研、统计、地理相关的学术性图形绘制方法,后续也会增加商务插图、机器学等、数据分析等方面的课程。
参与课程的你将获取到:学员答疑、可视化资源分享、可视化技巧补充、可视化业务代做(学员和甲方对接)、副业交流、提升认知等等。
今天给大家介绍一个Python语言中不常用但非常好用的统计分析可视化包-grplot,它可以快速帮助使用者构建出好看的统计插图,基于 numpy、scipy、matplotlib、seaborn、squarify以及pandas等拓展库,只需一行代码,就能绘制出完整、美观的统计图。
grplot 支持 Python 3.6 以上版本。
安装时需要使用 numpy、scipy、matplotlib、pandas 和 ipython。如果安装了 statsmodels,某些函数将选择使用 statsmodels。
pip install grplot
#或者
conda install -c conda-forge grplot
1.lineplot
from grplot import plot2d
import grplot_seaborn as gs
gs.set_theme(context='notebook', style='darkgrid', palette='deep')
flights = gs.load_dataset('flights')
ax = plot2d(plot='lineplot',
df=flights,
x='year',
y='passengers',
sep={'passengers':'.', 'year':None},
text=True,
ystatdesc='count+unique',
title='passengers vs year',
legend_loc='upper left',
ci=95)
lineplot
from grplot import plot2d
import grplot_seaborn as gs
gs.set_theme(context='notebook', style='darkgrid', palette='deep')
tips = gs.load_dataset('tips')
ax = plot2d(plot='histplot',
df=tips,
x='total_bill',
xsep='.c',
ysep='.',
statdesc={'total_bill':'general'},
xtick_add='Rp(_)',
ytext='h',
title='Histogram Count vs total_bill',
kde=True,
alpha=0.75)
histplot
from grplot import plot2d
import grplot_seaborn as gs
gs.set_theme(context='notebook', style='darkgrid', palette='deep')
tips = gs.load_dataset('tips')
ax = plot2d(plot='kdeplot',
df=tips,
x='total_bill',
xsep='.c',
ysep='.',
statdesc={'total_bill':'general'},
xtick_add='Rp(_)',
title='KDE Density vs total_bill')
KDE plot
from grplot import plot2d
import grplot_seaborn as gs
gs.set_theme(context='notebook', style='darkgrid', palette='deep')
tips = gs.load_dataset('tips')
ax = plot2d(plot='kdeplot+rugplot',
df=tips,
x='total_bill',
xsep='.c',
ysep='.',
statdesc={'total_bill':'general'},
xtick_add='Rp(_)',
title='KDE-Rug Density vs total_bill')
rug plot
from grplot import plot2d
import grplot_seaborn as gs
gs.set_theme(context='notebook', style='darkgrid', palette='deep')
tips = gs.load_dataset('tips')
ax = plot2d(plot='boxplot+swarmplot',
df=tips,
x='total_bill',
y='day',
figsize=[10,6],
sep='.c',
xstatdesc='general',
xtick_add='Rp(_)',
title='Box-Swarm day vs total_bill')
Swarm plot
from grplot import plot2d
import grplot_seaborn as gs
import pandas as pd
gs.set_theme(context='notebook', style='darkgrid', palette='deep')
iris = gs.load_dataset('iris')
iris = pd.melt(iris, 'species', var_name='measurement')
ax = plot2d(plot='stripplot+pointplot',
df=iris,
x='value',
y='measurement',
sep='.',
title='measurement vs value',
hue='species')
Point plot
7.Pareto plot
from grplot import plot2d
import grplot_seaborn as gs
gs.set_theme(context='notebook', style='darkgrid', palette='deep')
tips = gs.load_dataset('tips')
ax = plot2d(plot='paretoplot',
df=tips,
x='day',
y='total_bill',
sep='.c',
ytick_add='Rp(_)',
ytext='h+i',
title='Pareto total_bill vs day')
Pareto plot
除了上述介绍的图形之外,grplot包还可以绘制二维多姿图样式,可视化结果如下:
更多关于grplot包的语法和其他案例,可参考:grplot包官网[1]
另:本人编写的《科研论文配图绘制指南-基于Python》一书也在修正和新增内容中(已上市,各个平台都有售卖),也会增加更多统计科研图形的案例。
如何快速掌握科研绘图技巧?可以考虑以下几点:
这里笔者建议,在资金允许的前提下,可以报名一个长期有效的可视化课程,别报名那种合集资料、没后期服务的课程。建议参加那种作者本人录制视频、有详细代码和数据、有后期服务、有观课平台(如果这个都没有,真的不建议大家购买,说的再好都不要购买)。如果课程持续更新的最好,最好课程本人有一定影响力(比如出书或者大V),那样自己的权益也会受到保障。感兴趣的读者可以看下我们自己的课程介绍,可视化系列课程推文。完美满足我说的那几个条件····
当然,在学习数据可视化的道路上,你也有很多问题得不到解答,也可以加入我们的可视化课程(可视化系列课程推文)后,在学员群里和大家一起谈论,一起进步,或者直接向我提问。如果我觉得你的问题很具有普适性,我会把它写成文章发布在公众号上,让更多人看到,有关我们数据可视化系列课程的服务内容,可以参考下面的 阅读原文。
NetworkX,网络结构图最强绘制工具·····
所有科研地理图形它都有,这个工具有点猛····
Nature、Science配图可以一键绘制?!我懵了···
节后第一天,就因为论文配图,被导师怼了一上午·····
plotnine,打死不学R语言, 我可以用Python到40岁.....
TUEplots,一天100张论文配图,导师惊了···
[1]
grplot包官网: https://github.com/ghiffaryr/grplot。