Python可视化 | 一行代码轻松绘制统计图表!

2021-10-18 14:44:12 浏览数 (1)

今天快学Python给大家推荐一个轻量级的Python统计绘图库-「Dexplot」,让你无需使用Python-matplotlib库即可绘制精美的统计图表。

本期就随快快,来看一下这个轻量级的统计绘图库吧~

Python-Dexplot 简介

Dexplot库的官网如下:https://www.dexplo.org/dexplot/ ,更多本期推文没介绍到的内容,大家可自行在此网站进行查阅哈~

Dexplot库的安装方式也十分简单,如下:

代码语言:javascript复制
pip install dexplot  

Dexplot库可同时支持“长数据”和“宽数据”类型,这一点和R-ggplot2绘图所需要的数据类型相似(ggplot2只支持长数据),下面通过两幅图展示一下什么是长数据和宽数据:

Dexplot库提供了用于绘制不同图表的绘图函数,但其基本使用语法如下:

代码语言:javascript复制
dxp.plotting_func(x, y, data, aggfunc, split, row, col, orientation, ...)  

各参数解释如下:

  • x:沿x轴的列名
  • y:沿y轴的列名
  • data:Pandas DataFrame数据类型。
  • aggfunc:pandas常用聚类计算函数。
  • split:将数据分到不同组的的数据列名。
  • row:用于按行将数据拆分为不同的子图的数据列名。
  • col:用于按列将数据拆分为不同的子图的数据列名。
  • orientation:绘图方向,有垂直('v')或水平('h')。大多数图的默认设置为垂直。

Dexplot绘图库主要提供聚类图和分布图两种数据类型, 聚合图采用一系列值,并使用提供给aggfunc的函数返回单个值,而分布图采用一系列值并以某种方式描述分布形状。

接下来,快学Python将通过具体可视化图表展示Dexplot库绘图魅力。

Python-Dexplot样例展示

「样例一」:柱形图系列

代码语言:javascript复制
import dexplot as dxp  
import pandas as pd  
import matplotlib.pyplot as plt  
airbnb = dxp.load_dataset('airbnb')  
#bar01  
dxp.bar(x='neighborhood', y='price', data=airbnb, aggfunc='median',figsize=(5,3.5),  
       bar_kwargs={"color":"#0073C2","ec":"black"})  

Example01 of dxp.bar

排序:

代码语言:javascript复制
dxp.bar(x='neighborhood', y='price', data=airbnb, aggfunc='median',   
                figsize=(5,3.5),sort_values='asc',bar_kwargs={"color":"#0073C2","ec":"black"}) ```

![Example02 of dxp.bar](https://mmbiz.qpic.cn/mmbiz_png/LVW0j64NZC0MPc5xgXYibNtoqBHhIEPfkW7DfjNejMLcibMJW2zGLPc6LJPpaYArp3upx2X9Y5ELricsalw4LCb4Q/640?wx_fmt=png)

水平:

```python
dxp.bar(x='price', y='neighborhood', data=airbnb, aggfunc='median', figsize=(3,4),  
        orientation='h', sort_values='desc',bar_kwargs={"color":"#EFC000","ec":"black"})  

Example03 of dxp.bar

分组:

代码语言:javascript复制
dxp.bar(x='neighborhood', y='price', data=airbnb, aggfunc='median', split='superhost',figsize=(4,2.5),  
       cmap=["#0073C2","#EFC000"],bar_kwargs={"ec":"black"})  

Example04 of dxp.bar

分面:

代码语言:javascript复制
dxp.bar(x='neighborhood', y='price', data=airbnb, aggfunc='median', split='superhost',   
        col='property_type', col_order=['House', 'Condominium', 'Apartment'],  
        row='bedrooms', row_order=[1, 2, 3], sharey=False,cmap=["#0073C2","#EFC000"],  
        bar_kwargs={"ec":"black"})  

Example05 of dxp.bar

「样例二」:箱线图系列

代码语言:javascript复制
dxp.box(x='price', y='neighborhood', data=airbnb,cmap=["#CD534C"],figsize=(3,3))  

Example01 of dxp.box

分组:

代码语言:javascript复制
dxp.box(x='price', y='neighborhood', data=airbnb,figsize=(3,3.5),  
        cmap=["#0073C2","#EFC000","#868686","#CD534C"],  
        split='property_type', split_order='desc')  

Example02 of dxp.box

「样例三」:密度图(KDE)

代码语言:javascript复制
dxp.kde(x='price', data=airbnb, split='bedrooms', split_order=[1, 2, 3],  
       cmap=["#0073C2","#EFC000","#868686"])  

Example of dxp.kde

「样例四」:散点图

代码语言:javascript复制
dxp.scatter(x='longitude', y='latitude', data=airbnb,   
            split='neighborhood', col='bedrooms', col_order=[2, 3])  

Example of dxp.scatter

好了,以上就是快学Python列举的几个代表性质的图表,更多图表类型和绘图方法,感兴趣的小伙伴可自行探索哈~

总结

今天快学Python给大家介绍了一个轻量级的Python统计绘图库,可以看出,使用该库绘制统计图表仅需一行代码即可。

但对可视化要求较高(颜色、布局、刻度等属性定制化)的小伙伴,还是建议学习R-ggplot2和Python-matplotlib。各有利弊,小伙伴们根据自己的喜好选择绘图工具哈~~

0 人点赞