可视化分类数据的统一FacetGrid图级接口为catplot()函数,通过kind
参数,可以选择轴级函数有:
绘制两种不同的条形图:
两种图形的其他参数使用方法一致。
pythonimport seaborn as sns
import pandas as pd
%matplotlib inline
# 加载seaborn配制,覆盖matplotlib默认配制
sns.set()
tips = pd.read_csv('seaborn-data-master/tips.csv')
display(tips)
total_bill | tip | sex | smoker | day | time | size | |
---|---|---|---|---|---|---|---|
0 | 16.99 | 1.01 | Female | No | Sun | Dinner | 2 |
1 | 10.34 | 1.66 | Male | No | Sun | Dinner | 3 |
2 | 21.01 | 3.50 | Male | No | Sun | Dinner | 3 |
3 | 23.68 | 3.31 | Male | No | Sun | Dinner | 2 |
4 | 24.59 | 3.61 | Female | No | Sun | Dinner | 4 |
... | ... | ... | ... | ... | ... | ... | ... |
239 | 29.03 | 5.92 | Male | No | Sat | Dinner | 3 |
240 | 27.18 | 2.00 | Female | Yes | Sat | Dinner | 2 |
241 | 22.67 | 2.00 | Male | Yes | Sat | Dinner | 2 |
242 | 17.82 | 1.75 | Male | No | Sat | Dinner | 2 |
243 | 18.78 | 3.00 | Female | No | Thur | Dinner | 2 |
244 rows × 7 columns
python# y为数据的估值的条形图
ax = sns.barplot(x='day', y='total_bill', data=tips)
python# y为数据的数量的条形图
ax = sns.countplot(x='day', data=tips)
hue
通过颜色控制每组分类数量,同样适用于其他类型分类数据图。
pythonax = sns.barplot(x='day', y='total_bill', hue='sex', data=tips)
通过交换x、y变量,同样适用于其他类型分类数据图。
pythonax = sns.barplot(y='day', x='total_bill', hue='sex', data=tips)
order
参数传入列表,指定条形顺序,同样适用于其他类型分类数据图。
pythonax = sns.barplot(x='day', y='total_bill',
order=['Sat', 'Thur', 'Fri', 'Sun'], data=tips)
ci
参数控制估计值的置信区间大小,取值:
pythonax = sns.barplot(x='day', y='total_bill',
ci=None, data=tips)
可视化统计关系的散点图的x、y取值均为数值一一对应,而分类散点图x或y某一维表示分类(类别不能太多,否则绘出的图很大),另一维为每一类中分布的数值。
绘制两种不同的分类散点图:
python# stripplot()绘制出的点有重叠
ax = sns.stripplot(x='day', y='total_bill', data=tips)
python# swarmplot()绘制出的点不重叠
ax = sns.swarmplot(x='day', y='total_bill', data=tips)
绘制方法:
pythonax = sns.boxplot(x='day', y='total_bill', data=tips)
hue
控制每一类的分组,如果该类只有一个分组则至绘制一个线箱图,如下图。
pythonax = sns.boxplot(x='day', y='total_bill', hue='time', data=tips)
本文作者:tsingk
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!