Python-Dexplot 简介
「官网」
Dexplot库的官网如下:https://www.dexplo.org/dexplot/
「安装方式」
Dexplot库的安装方式也十分简单,如下:
pip install dexplot
「绘图所需数据类型」
Dexplot库可同时支持“长数据”和“宽数据”类型,这一点和R-ggplot2绘图所需要的数据类型相似(ggplot2只支持长数据),下面通过两幅图展示一下什么是长数据和宽数据:
long_data
width_data
「基本用法」
Dexplot库提供了用于绘制不同图表的绘图函数,但其基本使用语法如下:
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的函数返回单个值,而分布图采用一系列值并以某种方式描述分布形状。接下来通过具体可视化图表展示Dexplot库绘图魅力。Python-Dexplot样例展示
「样例一」:柱形图系列
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排序
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水平
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分组
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分面
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「样例二」:箱线图系列
dxp.box(x='price', y='neighborhood', data=airbnb,cmap=["#CD534C"],figsize=(3,3))
Example01 of dxp.box分组
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)
dxp.kde(x='price', data=airbnb, split='bedrooms', split_order=[1, 2, 3],
cmap=["#0073C2","#EFC000","#868686"])
Example of dxp.kde「样例四」:散点图
dxp.scatter(x='longitude', y='latitude', data=airbnb,
split='neighborhood', col='bedrooms', col_order=[2, 3])
Example of dxp.scatter