前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不用Seaborn,这个工具也能绘制超炫的统计图形···

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

作者头像
DataCharm
发布2023-10-19 15:04:47
2330
发布2023-10-19 15:04:47
举报
文章被收录于专栏:数据 学术 商业 新闻

前言

今天是我的可视化课程上线的第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。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataCharm 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Python-grplot包包介绍
  • 如何快速掌握科研绘图技巧?
  • 系统学习可视化
  • 猜你喜欢
    • 参考资料
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档