seaborn和pandas绘制箱线图 boxplot

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
# 用seaborn话race和gender的箱线图
ax = sns.boxplot(x='GENDER', y='BASE_SALARY', data=employee, hue='RACE', palette='Greys') #调色板
ax.figure.set_size_inches(14,4)

用seaborn话race和gender的箱线图

# pandas则要为gender创建两个独立的Axes,然后根据race画箱线图
fig, ax_array = plt.subplots(1, 2, figsize=(14,4), sharey=True)
#设置为 True 或者 ‘all’ 时,所有子图共享 x 轴或者 y 轴,
#设置为 False or ‘none’ 时,所有子图的 x,y 轴均为独立,
#设置为 ‘row’ 时,每一行的子图会共享 x 或者 y 轴,
#设置为 ‘col’ 时,每一列的子图会共享 x 或者 y 轴。
for g, ax in zip(['Female', 'Male'], ax_array):
             employee.query('GENDER== @g') \
                     .boxplot(by='RACE', column='BASE_SALARY', ax=ax, rot=20)
             ax.set_title(g + ' Salary')
             ax.set_xlabel('')
fig.suptitle('') #suptitle 绘制总标题
#Text(0.5, 0.98, '')

pandas则要为gender创建两个独立的Axes,然后根据race画箱线图

# pandas也可以列表分离多个变量,但是画的图不优雅
ax = employee.boxplot(by=['GENDER', 'RACE'], 
                               column='BASE_SALARY', 
                               figsize=(16,4), rot=15)
ax.figure.suptitle('') #fig.suptitle设置主图标题,使用ax.set_title设置子图标题
#Text(0.5, 0.98, '')

猜你喜欢

转载自blog.csdn.net/weixin_48135624/article/details/114283616