Python数据分析29——seaborn可视化(五)之琴形图

发布时间:2023-05-29 12:30

准备工作

先导入相关模块和数据集。

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
tips = sns.load_dataset('tips')
tips.head()

在这里插入图片描述

seaborn 绘制琴形图

琴形图结合了箱线图和和密度估计图的特点。可以通过videoplot() 函数来绘制琴形图。

sns.set(style='whitegrid', color_codes=True)
sns.violinplot(x='day', y='total_bill', data=tips)

Python数据分析29——seaborn可视化(五)之琴形图_第1张图片
下面,通过hue 参数增多一个变量来绘图。

sns.set(style='whitegrid', color_codes=True)
sns.violinplot(x='day', y='total_bill', hue='time', data=tips)

Python数据分析29——seaborn可视化(五)之琴形图_第2张图片
上面的图,其实并不是很直观,而且不好看。所以利用split 参数对分类数据进行切分,这样琴形图不同的颜色代表不同的类别。还可以利用inner参数对每个数据可视化,而不是只能看箱线图的哪几个统计值。

  • 创建两个子图。
sns.set(style='whitegrid', color_codes=True)
fig, axes = plt.subplots(1,2,figsize=(10,5))
  • 对于左边的子图:对数据切分
sns.violinplot(x='day', y='total_bill', hue='sex', data=tips, split=True, ax=axes[0])
  • 对于右边的子图:对数据切分,同时对每一个数据可视化
sns.violinplot(x='day', y='total_bill', hue='time', data=tips, split=True, inner='stick', palette='Set3', ax=axes[1])

Python数据分析29——seaborn可视化(五)之琴形图_第3张图片
其实,分类函数是可以一起使用,这样就实现了更加强大的可视化效果。

  • 创建两个子图
sns.set(style='whitegrid', color_codes=True)
fig, axes = plt.subplots(1,2,figsize=(10,5))
  • 对于左边的子图:绘制琴形图,而且inner 内部不填充
sns.violinplot(x='day', y='total_bill',data=tips,inner=None,ax=axes[0])
  • 对于左边的子图:绘制分类散点图
sns.swarmplot(x='day', y='total_bill',data=tips,color='w', alpha=0.5, ax=axes[0])
  • 对于右边的子图:绘制箱形图和分类散点图
sns.boxplot(x='day', y='total_bill',data=tips,ax=axes[1])
sns.stripplot(x='day', y='total_bill',data=tips,jitter=True, color='w', alpha=0.5, ax=axes[1])

Python数据分析29——seaborn可视化(五)之琴形图_第4张图片

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号