不用Seaborn,这个工具也能绘制超炫的统计图形···

2023-10-19 15:04:47 浏览数 (3)

前言

今天是我的可视化课程上线的第202天,目前学员403人,每篇原创公众号都会记录这个人数,用来督促和激励我的原创内容。目前课程的主要方向是 科研、统计、地理相关的学术性图形绘制方法,后续也会增加商务插图、机器学等、数据分析等方面的课程。

参与课程的你将获取到:学员答疑、可视化资源分享、可视化技巧补充、可视化业务代做(学员和甲方对接)、副业交流、提升认知等等。

Python-grplot包包介绍

今天给大家介绍一个Python语言中不常用但非常好用的统计分析可视化包-grplot,它可以快速帮助使用者构建出好看的统计插图,基于 numpy、scipy、matplotlib、seaborn、squarify以及pandas等拓展库,只需一行代码,就能绘制出完整、美观的统计图。

  • 安装依赖

grplot 支持 Python 3.6 以上版本。

安装时需要使用 numpy、scipy、matplotlib、pandas 和 ipython。如果安装了 statsmodels,某些函数将选择使用 statsmodels。

  • 安装方式 你可以使用 pip 或conda命令来安装 grplot:
代码语言:javascript复制
pip install grplot
#或者
conda install -c conda-forge grplot
  • 可视化案例

1.lineplot

代码语言:javascript复制
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

  1. histplot
代码语言:javascript复制
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

  1. KDE plot
代码语言:javascript复制
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

  1. Rug plot
代码语言:javascript复制
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

  1. Swarm plot
代码语言:javascript复制
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

  1. Point plot
代码语言:javascript复制
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

代码语言:javascript复制
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》一书也在修正和新增内容中(已上市,各个平台都有售卖),也会增加更多统计科研图形的案例。

如何快速掌握科研绘图技巧?

如何快速掌握科研绘图技巧?可以考虑以下几点:

  • 学习基本工具和软件: 先熟悉常用的科研绘图工具和软件,例如Python或者R语言等,选择一款适合你的工具。
  • 参考教程和指南: 在线教程、视频教程和指南是学习的好资源。
  • 模仿和实践: 查看优秀的科研绘图范例,模仿它们的风格和技巧。同时,勤练手,多做练习,实践是提高技能的关键。
  • 了解图表类型和用途: 了解不同类型的科研图表,例如折线图、柱状图、散点图等,以及它们在传达信息方面的优缺点。
  • 注重细节和清晰性: 细节决定成败,确保图表的字体清晰、线条精细、标签明了,避免视觉混乱。
  • 遵循学术规范: 遵循学术期刊或机构对图表的规定和要求,包括字体大小、图表标题、坐标轴标签等。
  • 请教专家或同事: 有条件的同学可以跟随一个大佬进行系统学习,向他们寻求指导和建议,可以加速你的学习过程。

这里笔者建议,在资金允许的前提下,可以报名一个长期有效的可视化课程,别报名那种合集资料、没后期服务的课程。建议参加那种作者本人录制视频、有详细代码和数据、有后期服务、有观课平台(如果这个都没有,真的不建议大家购买,说的再好都不要购买)。如果课程持续更新的最好,最好课程本人有一定影响力(比如出书或者大V),那样自己的权益也会受到保障。感兴趣的读者可以看下我们自己的课程介绍,可视化系列课程推文。完美满足我说的那几个条件····

系统学习可视化

当然,在学习数据可视化的道路上,你也有很多问题得不到解答,也可以加入我们的可视化课程(可视化系列课程推文)后,在学员群里和大家一起谈论,一起进步,或者直接向我提问。如果我觉得你的问题很具有普适性,我会把它写成文章发布在公众号上,让更多人看到,有关我们数据可视化系列课程的服务内容,可以参考下面的 阅读原文。

猜你喜欢

NetworkX,网络结构图最强绘制工具·····

所有科研地理图形它都有,这个工具有点猛····

Nature、Science配图可以一键绘制?!我懵了···

节后第一天,就因为论文配图,被导师怼了一上午·····

plotnine,打死不学R语言, 我可以用Python到40岁.....

TUEplots,一天100张论文配图,导师惊了···

参考资料

[1]

grplot包官网: https://github.com/ghiffaryr/grplot。

0 人点赞