与数据帧集成的长数据和宽数据的简单绘图库
dexplot的Python项目详细描述
索引图
用于使数据可视化的python库。
dexplot当前的目标是使python中的数据可视化创建更加健壮和直观。dexplot构建在matplotlib之上,接受p and as数据帧作为输入。
安装
pip安装dexplot
目标
dexplot的主要目标是:
- 保持一个非常一致的api,只需使用一些必要的函数就可以生成所需的统计图
- 允许用户在不深入matplotlib的情况下调整绘图
整理熊猫的数据
dexplot只接受pandas数据帧作为"tidy"形式的绘图功能的输入。
样地
dexplot目前维护两个主要函数,aggplot
用于聚合数据,jointplot
用于将两个变量的原始值相互绘制。热图
是另一个仅生成一个热图的功能。
aggplot
可以创建五种不同的绘图。
条
行
框
hist
kde
jointplot
可以创建四种不同类型的绘图
分散性
行
2dkde
条
有7个主要参数要aggplot
:
agg
-要聚合的列的名称。如果是具有字符串/分类值的列,则将返回计数或相对频率百分比。groupby
-其唯一值将构成独立组的列的名称。这与GROUP BY
SQL子句使用的方式类似。数据
-熊猫数据框色调
-在单个绘图中进一步分组数据的列的名称行
-具有唯一值的列的名称将数据分割成不同的行列
-具有唯一值的列的名称将数据拆分为多个列类型
-要创建的绘图类型。上面五根弦中的一根。
jointplot
使用x
和y
而不是groupby
和agg
休斯顿市数据
首先,我们将使用从2016年收集的休斯顿市员工数据。它包含大约1500名员工的公共信息,位于dexplot的github存储库中。
importpandasaspdimportdexplotasdxp
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()< div ><表><广告>
按部门绘制平均工资
agg
参数非常重要,它是将要聚合的内容(通过单点统计进行汇总,如平均值或中值)。它是第一个参数,也是您必须指定的唯一参数(除了data
)。如果此列是数字,则默认情况下,将计算其平均值。在这里,我们指定了groupby参数,它的唯一值构成独立的组并标记x轴。
dxp.aggplot(agg='salary',groupby='dept',data=emp)
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
<matplotlib.axes._subplots.AxesSubplot at 0x1192f7160>
>
控制图形大小
dexplot的目标之一是不要深入了解matplotlib的细节。我们可以使用figsize
参数来更改绘图的大小。
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h',figsize=(8,4))
<matplotlib.axes._subplots.AxesSubplot at 0x119377b00>
使用色调添加另一个维度
色调
参数可用于进一步细分分组方式
列中的每个唯一值。请注意,长刻度标签是自动包装的。
dxp.aggplot(agg='salary',groupby='dept',data=emp,hue='gender')
importpandasaspdimportdexplotasdxp
0
聚合字符串/分类列
可以使用字符串/分类列作为聚合变量。在此实例中,将返回该列的唯一值的计数。因为这已经在执行groupby
,所以不能在此实例中指定groupby
列。让我们按种族统计雇员人数。
importpandasaspdimportdexplotasdxp
1
importpandasaspdimportdexplotasdxp
2
对字符串/分类列使用色调
在聚合字符串/分类列时,不允许使用groupby。但是,我们仍然可以通过指定hue
importpandasaspdimportdexplotasdxp
3
importpandasaspdimportdexplotasdxp
4
使用normalize获取相对频率百分比
通过将值传递给normalize,可以将原始计数转换为百分比。让我们按种族找出所有雇员的百分比。
importpandasaspdimportdexplotasdxp
5
importpandasaspdimportdexplotasdxp
6
可以对任何变量进行规格化
参数normalize可以是传递给参数'agg'
、'hue'
、'row'
、'col'
的值之一,也可以是包含任意数量或'all'
的元组。例如,在下面的图中,您可以通过race
或dept
importpandasaspdimportdexplotasdxp
7
importpandasaspdimportdexplotasdxp
8
按种族规范化的数据
如您所见,数据是按种族标准化的。例如,从图表中,我们可以看出大约30%的黑人雇员是警察部门的成员。我们也可以按部门正常化。从图中可以看出,大约10%的卫生和公共服务员工是亚洲人。
importpandasaspdimportdexplotasdxp
9
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
0
堆积条形图
所有使用色调
变量的条形图都可以堆叠。在这里,我们将最高工资按部门按种族分组。
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
1
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
2
叠加计数
按经验级别列出的每个部门的原始计数在此堆叠。
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
3
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
4
叠加相对频率
按种族和经验水平划分的各部门的相对频率。
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
5
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
6
其他类型的绘图line
,box
,hist
和kde
aggplot
能够生成其他四种类型的绘图。行
图与条形图非常相似,但只是将值连接在一起。让我们回到一个数字列,按部门计算每个性别的薪资中位数。
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
7
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
8
aggfunc
可以接受pandas可以接受的任何字符串值
aggfunc
可以接受十多个字符串值。这些只是传递给pandasgroupby
进行聚合的方法。
所有绘图都可以是垂直和水平的
我们可以用方向旋转所有绘图
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
9
dxp.aggplot(agg='salary',groupby='dept',data=emp)
0
方块图
与方框图绘制的数据相同。这实际上不是一个聚合,因此这里的aggfunc
参数没有意义。相反,将绘制特定组的所有值。
dxp.aggplot(agg='salary',groupby='dept',data=emp)
1
dxp.aggplot(agg='salary',groupby='dept',data=emp)
2
直方图和kde
与boxplots一样,直方图和kde不与aggfunc
一起工作,因为它们不是聚合而是简单地为我们显示所有数据。此外,不可能在这些绘图中同时使用groupby
和agg
。
dxp.aggplot(agg='salary',groupby='dept',data=emp)
3
dxp.aggplot(agg='salary',groupby='dept',data=emp)
4
dxp.aggplot(agg='salary',groupby='dept',data=emp)
5
dxp.aggplot(agg='salary',groupby='dept',data=emp)
6
分割成单独的图
行
和列
参数可用于将数据分割成单独的绘图。行
或列
的每个唯一值将创建一个新的绘图。返回一个由整个数字组成的单项元组。
dxp.aggplot(agg='salary',groupby='dept',data=emp)
7
dxp.aggplot(agg='salary',groupby='dept',data=emp)
8
使用wrap
参数创建新行/列
将wrap
参数设置为整数,以确定新行/列的形成位置。
dxp.aggplot(agg='salary',groupby='dept',data=emp)
9
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
0
wrap
对行或列都有效
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
1
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
2
对整个网格同时使用行和列
通过同时使用行
和列
,可以最大化将数据划分为的变量数。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
3
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
4
由多个变量规格化
在这之前,我们只用一个变量来规范化。可以用一个元组通过多个变量进行规范化。在这里,我们按部门和性别进行正常化。将每个部门的所有蓝色条加起来应该等于1。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
5
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
6
用三个变量规格化
在这里,我们按种族、经验水平和性别进行正常化。每个图中的每组橙色/蓝色条将加1。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
7
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
8
imgalt="png" src="https://warehouse camo.cmh1.psfhosted.org/3123d5276c219892a3e2d5e44ab0bcd336239c1/68747470733a2f72f7261772e676974756275736572636f6e74656e742e636f6d2e646578706c6f2f646578706c6f742f6d617365722f696d616765732f6f757075745f34395f312e706e67" />
联合图
joinplot
的工作方式与aggplot
不同,因为不进行聚合。它在两个变量之间绘制原始值。它可以使用色调
、行
和列
将数据分成组或新的绘图。默认绘图是散点图,但您也可以为kind
参数提供字符串值,以生成线条、kde或条形图。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
9
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
0
使用色调在同一绘图中分割数据
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
1
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
2
通过设置fit_reg
等于true绘制回归线
默认情况下,它在平均值周围绘制95%的置信区间。
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
3
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
4
>
用行
和列
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
5
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
0
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
7
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
4
使用s
参数更改每个标记的大小
设s
等于包含数值的列名,以分别设置每个标记大小。我们需要先创建另一个数值变量,因为数据集只包含两个。
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
9
<matplotlib.axes._subplots.AxesSubplot at 0x1192f7160>
0
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
0
线条图
<matplotlib.axes._subplots.AxesSubplot at 0x1192f7160>
2
< div >
<;样式范围>;
.dataframe tbody tr th:仅为{
垂直对齐:中间;
}
<matplotlib.axes._subplots.AxesSubplot at 0x1192f7160>
3
<;/样式>;
<表><广告>< T/>日期
关闭 符号 增益百分比
年
月 < /广告><正文>< 0 >2013年10月7日 63.7997 AAPL 2013年
<1</th>2013年10月7日 96.6579 CVX 2013年
<2</th>2013年10月7日 35.0541 txn 2013年
<3</th>2013年10月7日 19.4912 CSCO 2013年 10 4 2013年10月7日
310.0300 AMZN 0.0 2013年 10 <表>
色调
参数可用于进一步细分分组方式
列中的每个唯一值。请注意,长刻度标签是自动包装的。
dxp.aggplot(agg='salary',groupby='dept',data=emp,hue='gender')
importpandasaspdimportdexplotasdxp0
聚合字符串/分类列
可以使用字符串/分类列作为聚合变量。在此实例中,将返回该列的唯一值的计数。因为这已经在执行groupby
,所以不能在此实例中指定groupby
列。让我们按种族统计雇员人数。
importpandasaspdimportdexplotasdxp1
importpandasaspdimportdexplotasdxp2
对字符串/分类列使用色调
在聚合字符串/分类列时,不允许使用groupby。但是,我们仍然可以通过指定hue
importpandasaspdimportdexplotasdxp3
importpandasaspdimportdexplotasdxp4
使用normalize获取相对频率百分比
通过将值传递给normalize,可以将原始计数转换为百分比。让我们按种族找出所有雇员的百分比。
importpandasaspdimportdexplotasdxp
5
importpandasaspdimportdexplotasdxp
6
可以对任何变量进行规格化
参数normalize可以是传递给参数'agg'
、'hue'
、'row'
、'col'
的值之一,也可以是包含任意数量或'all'
的元组。例如,在下面的图中,您可以通过race
或dept
importpandasaspdimportdexplotasdxp
7
importpandasaspdimportdexplotasdxp
8
按种族规范化的数据
如您所见,数据是按种族标准化的。例如,从图表中,我们可以看出大约30%的黑人雇员是警察部门的成员。我们也可以按部门正常化。从图中可以看出,大约10%的卫生和公共服务员工是亚洲人。
importpandasaspdimportdexplotasdxp
9
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
0
堆积条形图
所有使用色调
变量的条形图都可以堆叠。在这里,我们将最高工资按部门按种族分组。
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
1
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
2
叠加计数
按经验级别列出的每个部门的原始计数在此堆叠。
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
3
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
4
叠加相对频率
按种族和经验水平划分的各部门的相对频率。
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
5
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
6
其他类型的绘图line
,box
,hist
和kde
aggplot
能够生成其他四种类型的绘图。行
图与条形图非常相似,但只是将值连接在一起。让我们回到一个数字列,按部门计算每个性别的薪资中位数。
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
7
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
8
aggfunc
可以接受pandas可以接受的任何字符串值
aggfunc
可以接受十多个字符串值。这些只是传递给pandasgroupby
进行聚合的方法。
所有绘图都可以是垂直和水平的
我们可以用方向旋转所有绘图
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()
9
dxp.aggplot(agg='salary',groupby='dept',data=emp)
0
方块图
与方框图绘制的数据相同。这实际上不是一个聚合,因此这里的aggfunc
参数没有意义。相反,将绘制特定组的所有值。
dxp.aggplot(agg='salary',groupby='dept',data=emp)
1
dxp.aggplot(agg='salary',groupby='dept',data=emp)
2
直方图和kde
与boxplots一样,直方图和kde不与aggfunc
一起工作,因为它们不是聚合而是简单地为我们显示所有数据。此外,不可能在这些绘图中同时使用groupby
和agg
。
dxp.aggplot(agg='salary',groupby='dept',data=emp)
3
dxp.aggplot(agg='salary',groupby='dept',data=emp)
4
dxp.aggplot(agg='salary',groupby='dept',data=emp)
5
dxp.aggplot(agg='salary',groupby='dept',data=emp)
6
分割成单独的图
行
和列
参数可用于将数据分割成单独的绘图。行
或列
的每个唯一值将创建一个新的绘图。返回一个由整个数字组成的单项元组。
dxp.aggplot(agg='salary',groupby='dept',data=emp)
7
dxp.aggplot(agg='salary',groupby='dept',data=emp)
8
使用wrap
参数创建新行/列
将wrap
参数设置为整数,以确定新行/列的形成位置。
dxp.aggplot(agg='salary',groupby='dept',data=emp)
9
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
0
wrap
对行或列都有效
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
1
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
2
对整个网格同时使用行和列
通过同时使用行
和列
,可以最大化将数据划分为的变量数。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
3
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
4
由多个变量规格化
在这之前,我们只用一个变量来规范化。可以用一个元组通过多个变量进行规范化。在这里,我们按部门和性别进行正常化。将每个部门的所有蓝色条加起来应该等于1。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
5
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
6
用三个变量规格化
在这里,我们按种族、经验水平和性别进行正常化。每个图中的每组橙色/蓝色条将加1。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
7
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
8
imgalt="png" src="https://warehouse camo.cmh1.psfhosted.org/3123d5276c219892a3e2d5e44ab0bcd336239c1/68747470733a2f72f7261772e676974756275736572636f6e74656e742e636f6d2e646578706c6f2f646578706c6f742f6d617365722f696d616765732f6f757075745f34395f312e706e67" />
联合图
joinplot
的工作方式与aggplot
不同,因为不进行聚合。它在两个变量之间绘制原始值。它可以使用色调
、行
和列
将数据分成组或新的绘图。默认绘图是散点图,但您也可以为kind
参数提供字符串值,以生成线条、kde或条形图。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
9
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
0
使用色调在同一绘图中分割数据
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
1
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
2
通过设置fit_reg
等于true绘制回归线
默认情况下,它在平均值周围绘制95%的置信区间。
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
3
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
4
>
用行
和列
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
5
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
0
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
7
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
4
使用s
参数更改每个标记的大小
设s
等于包含数值的列名,以分别设置每个标记大小。我们需要先创建另一个数值变量,因为数据集只包含两个。
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
9
<matplotlib.axes._subplots.AxesSubplot at 0x1192f7160>
0
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
0
线条图
<matplotlib.axes._subplots.AxesSubplot at 0x1192f7160>
2
< div >
<;样式范围>;
.dataframe tbody tr th:仅为{
垂直对齐:中间;
}
<matplotlib.axes._subplots.AxesSubplot at 0x1192f7160>
3
<;/样式>;
<表><广告>< T/>日期
关闭 符号 增益百分比
年
月 < /广告><正文>< 0 >2013年10月7日 63.7997 AAPL 2013年
<1</th>2013年10月7日 96.6579 CVX 2013年
<2</th>2013年10月7日 35.0541 txn 2013年
<3</th>2013年10月7日 19.4912 CSCO 2013年 10 4 2013年10月7日
310.0300 AMZN 0.0 2013年 10 <表>
通过将值传递给normalize,可以将原始计数转换为百分比。让我们按种族找出所有雇员的百分比。
importpandasaspdimportdexplotasdxp5
importpandasaspdimportdexplotasdxp6
可以对任何变量进行规格化
参数normalize可以是传递给参数'agg'
、'hue'
、'row'
、'col'
的值之一,也可以是包含任意数量或'all'
的元组。例如,在下面的图中,您可以通过race
或dept
importpandasaspdimportdexplotasdxp7
importpandasaspdimportdexplotasdxp8
按种族规范化的数据
如您所见,数据是按种族标准化的。例如,从图表中,我们可以看出大约30%的黑人雇员是警察部门的成员。我们也可以按部门正常化。从图中可以看出,大约10%的卫生和公共服务员工是亚洲人。
importpandasaspdimportdexplotasdxp9
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()0
堆积条形图
所有使用色调
变量的条形图都可以堆叠。在这里,我们将最高工资按部门按种族分组。
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()1
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()2
叠加计数
按经验级别列出的每个部门的原始计数在此堆叠。
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()3
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()4
叠加相对频率
按种族和经验水平划分的各部门的相对频率。
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()5
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()6
其他类型的绘图line
,box
,hist
和kde
aggplot
能够生成其他四种类型的绘图。行
图与条形图非常相似,但只是将值连接在一起。让我们回到一个数字列,按部门计算每个性别的薪资中位数。
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()7
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()8
aggfunc
可以接受pandas可以接受的任何字符串值
aggfunc
可以接受十多个字符串值。这些只是传递给pandasgroupby
进行聚合的方法。
所有绘图都可以是垂直和水平的
我们可以用方向旋转所有绘图
emp=pd.read_csv('notebooks/data/employee.csv')emp.head()9
dxp.aggplot(agg='salary',groupby='dept',data=emp)0
方块图
与方框图绘制的数据相同。这实际上不是一个聚合,因此这里的aggfunc
参数没有意义。相反,将绘制特定组的所有值。
dxp.aggplot(agg='salary',groupby='dept',data=emp)1
dxp.aggplot(agg='salary',groupby='dept',data=emp)2
直方图和kde
与boxplots一样,直方图和kde不与aggfunc
一起工作,因为它们不是聚合而是简单地为我们显示所有数据。此外,不可能在这些绘图中同时使用groupby
和agg
。
dxp.aggplot(agg='salary',groupby='dept',data=emp)3
dxp.aggplot(agg='salary',groupby='dept',data=emp)4
dxp.aggplot(agg='salary',groupby='dept',data=emp)5
dxp.aggplot(agg='salary',groupby='dept',data=emp)6
分割成单独的图
行
和列
参数可用于将数据分割成单独的绘图。行
或列
的每个唯一值将创建一个新的绘图。返回一个由整个数字组成的单项元组。
dxp.aggplot(agg='salary',groupby='dept',data=emp)7
dxp.aggplot(agg='salary',groupby='dept',data=emp)8
使用wrap
参数创建新行/列
将wrap
参数设置为整数,以确定新行/列的形成位置。
dxp.aggplot(agg='salary',groupby='dept',data=emp)9
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
0
wrap
对行或列都有效
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
1
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
2
对整个网格同时使用行和列
通过同时使用行
和列
,可以最大化将数据划分为的变量数。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
3
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
4
由多个变量规格化
在这之前,我们只用一个变量来规范化。可以用一个元组通过多个变量进行规范化。在这里,我们按部门和性别进行正常化。将每个部门的所有蓝色条加起来应该等于1。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
5
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
6
用三个变量规格化
在这里,我们按种族、经验水平和性别进行正常化。每个图中的每组橙色/蓝色条将加1。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
7
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
8
imgalt="png" src="https://warehouse camo.cmh1.psfhosted.org/3123d5276c219892a3e2d5e44ab0bcd336239c1/68747470733a2f72f7261772e676974756275736572636f6e74656e742e636f6d2e646578706c6f2f646578706c6f742f6d617365722f696d616765732f6f757075745f34395f312e706e67" />
联合图
joinplot
的工作方式与aggplot
不同,因为不进行聚合。它在两个变量之间绘制原始值。它可以使用色调
、行
和列
将数据分成组或新的绘图。默认绘图是散点图,但您也可以为kind
参数提供字符串值,以生成线条、kde或条形图。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
9
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
0
使用色调在同一绘图中分割数据
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
1
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
2
通过设置fit_reg
等于true绘制回归线
默认情况下,它在平均值周围绘制95%的置信区间。
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
3
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
4
>
用行
和列
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
5
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
0
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
7
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
4
使用s
参数更改每个标记的大小
设s
等于包含数值的列名,以分别设置每个标记大小。我们需要先创建另一个数值变量,因为数据集只包含两个。
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
9
<matplotlib.axes._subplots.AxesSubplot at 0x1192f7160>
0
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
0
线条图
<matplotlib.axes._subplots.AxesSubplot at 0x1192f7160>
2
< div >
<;样式范围>;
.dataframe tbody tr th:仅为{
垂直对齐:中间;
}
<matplotlib.axes._subplots.AxesSubplot at 0x1192f7160>
3
<;/样式>;
<表><广告>< T/>日期
关闭 符号 增益百分比
年
月 < /广告><正文>< 0 >2013年10月7日 63.7997 AAPL 2013年
<1</th>2013年10月7日 96.6579 CVX 2013年
<2</th>2013年10月7日 35.0541 txn 2013年
<3</th>2013年10月7日 19.4912 CSCO 2013年 10 4 2013年10月7日
310.0300 AMZN 0.0 2013年 10 <表>
列都有效
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
1
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
2
对整个网格同时使用行和列
通过同时使用行
和列
,可以最大化将数据划分为的变量数。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
3
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
4
由多个变量规格化
在这之前,我们只用一个变量来规范化。可以用一个元组通过多个变量进行规范化。在这里,我们按部门和性别进行正常化。将每个部门的所有蓝色条加起来应该等于1。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
5
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
6
用三个变量规格化
在这里,我们按种族、经验水平和性别进行正常化。每个图中的每组橙色/蓝色条将加1。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
7
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
8
imgalt="png" src="https://warehouse camo.cmh1.psfhosted.org/3123d5276c219892a3e2d5e44ab0bcd336239c1/68747470733a2f72f7261772e676974756275736572636f6e74656e742e636f6d2e646578706c6f2f646578706c6f742f6d617365722f696d616765732f6f757075745f34395f312e706e67" />
联合图
joinplot
的工作方式与aggplot
不同,因为不进行聚合。它在两个变量之间绘制原始值。它可以使用色调
、行
和列
将数据分成组或新的绘图。默认绘图是散点图,但您也可以为kind
参数提供字符串值,以生成线条、kde或条形图。
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
9
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
0
使用色调在同一绘图中分割数据
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
1
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
2
通过设置fit_reg
等于true绘制回归线
默认情况下,它在平均值周围绘制95%的置信区间。
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
3
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
4
>
用行
和列
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
5
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
0
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
7
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
4
使用s
参数更改每个标记的大小
设s
等于包含数值的列名,以分别设置每个标记大小。我们需要先创建另一个数值变量,因为数据集只包含两个。
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h')
9
<matplotlib.axes._subplots.AxesSubplot at 0x1192f7160>
0
<matplotlib.axes._subplots.AxesSubplot at 0x1190d2128>
0
线条图
<matplotlib.axes._subplots.AxesSubplot at 0x1192f7160>
2
< div >
<;样式范围>;
.dataframe tbody tr th:仅为{
垂直对齐:中间;
}
<matplotlib.axes._subplots.AxesSubplot at 0x1192f7160>
3
<;/样式>;
<表><广告>< T/>日期
关闭 符号 增益百分比
年
月 < /广告><正文>< 0 >2013年10月7日 63.7997 AAPL 2013年
<1</th>2013年10月7日 96.6579 CVX 2013年
<2</th>2013年10月7日 35.0541 txn 2013年
<3</th>2013年10月7日 19.4912 CSCO 2013年 10 4 2013年10月7日
310.0300 AMZN 0.0 2013年 10 <表>
二维kde图
啊! AAAAAAA 69 <<<<<<<<如果您的数据已经聚合,您可以使用jointplot
绘制它。
热图
热图可用于整理和聚合数据。
频率
当处理整洁的数据时,只传递它x
和y
将绘制它们的唯一值的所有组合的出现频率。将计数作为文本放入annot
框中。默认格式有两个小数。
使用热图聚合变量
将agg
参数设置为聚合特定变量。选择如何使用aggfunc
参数进行聚合,该参数接受pandas可以使用的任何字符串。默认值是平均值。
按行、列或所有数据规格化热图
可以使用按行、列或所有数据规范化数据。使用列的字符串名称进行行和列规范化。下面我们找到了按种族划分的所有综合经验年的总百分比。例如,在所有白人雇员的工作年限中,89%是男性。
<matplotlib.axes._subplots.AxesSubplot at 0x119377b00>
0
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h',figsize=(8,4))7
<matplotlib.axes._subplots.AxesSubplot at 0x119377b00>
2
dxp.aggplot(agg='salary',groupby='dept',data=emp,orient='h',figsize=(8,4))7
不聚合数据的热图
如果只将数据帧传递到热图中,则这些原始值将用于创建颜色。这里我们从正态分布中画出一些随机数。
<matplotlib.axes._subplots.AxesSubplot at 0x119377b00>
4
通过设置corr
等于true来查找相关性
将corr
参数设置为true将计算列之间的成对相关矩阵。任何字符串列都将被丢弃。下面,我们使用流行的kaggle住房数据集。
<matplotlib.axes._subplots.AxesSubplot at 0x119377b00>
5
与Seaborn相比
如果你使用过Seaborn图书馆,那么你应该注意到很多相似之处。dexplot的大部分灵感来自于seaborn。下面是在seaborn中找不到的dexplot中的附加功能列表
- 在任意数量的变量上绘制相对频率百分比和标准化的能力
- 公共职能要少得多。目前只有两个
- 不需要多个函数来做相同的事情。Seaborn同时具有
countplot
和barplot
- 使用单个函数生成网格的能力,而不必使用更高级别的函数,如
catplot
- pandas
groupby
方法可用作字符串 - X/Y标签和标题都会自动包装,以免重叠
- 图形大小(加上其他几个选项)可以更改,而无需深入到matplotlib
- 没有像facetgrid这样的新类型。只返回matplotlib对象
推荐PyPI第三方库
将corr
参数设置为true将计算列之间的成对相关矩阵。任何字符串列都将被丢弃。下面,我们使用流行的kaggle住房数据集。
<matplotlib.axes._subplots.AxesSubplot at 0x119377b00>
5
与Seaborn相比
如果你使用过Seaborn图书馆,那么你应该注意到很多相似之处。dexplot的大部分灵感来自于seaborn。下面是在seaborn中找不到的dexplot中的附加功能列表
- 在任意数量的变量上绘制相对频率百分比和标准化的能力
- 公共职能要少得多。目前只有两个
- 不需要多个函数来做相同的事情。Seaborn同时具有
countplot
和barplot
- 使用单个函数生成网格的能力,而不必使用更高级别的函数,如
catplot
- pandas
groupby
方法可用作字符串 - X/Y标签和标题都会自动包装,以免重叠
- 图形大小(加上其他几个选项)可以更改,而无需深入到matplotlib
- 没有像facetgrid这样的新类型。只返回matplotlib对象