首页 > 编程笔记 > Python笔记 阅读:21

Seaborn violinplot():绘制小提琴图(附带实例)

小提琴图主要用于展示数据的分布形状,它结合了箱形图和核密度图的特征,小提琴图中的粗黑线表示四分数范围,延伸的细线表示 95% 的置信区间,白点表示中位线。

在 Seaborn 中,可以使用 violinplot() 函数创建小提琴图。

分析下面的代码:
import matplotlib.pyplot as plt
import seaborn as sns
# 设置全局中文字体为宋体
sns.set_style({'font.sans-serif': 'SimSun'})
# 数据定义:月份 1~6 及其对应数量
month  = range(1, 7)
counts = [20, 50, 90, 60, 30, 70]
# 将数据封装成字典,便于 seaborn 读取
data = dict(zip(['月份', '数量'], [month, counts]))
# 绘制小提琴图,纵轴为“数量”
sns.violinplot(data=data, y='数量')
# 显示图形
plt.show()
将创建如下图所示的小提琴图:


图 1 小提琴图

分析下面的代码:
import matplotlib.pyplot as plt
import seaborn as sns
# 设置全局中文字体为宋体
sns.set_style({'font.sans-serif': 'SimSun'})
# 原始数据:月份与对应数量
month  = [1, 1, 2, 1, 2, 3, 3, 2, 1, 2, 1, 1]
counts = [20, 30, 70, 50, 90, 60, 70, 10, 30, 20, 50, 30]
# 构造标题与数据字典
title = ['月份', '数量']
data  = dict(zip(title, [month, counts]))
# 绘制小提琴图:横轴为月份,纵轴为数量
sns.violinplot(data=data, x='月份', y='数量')
# 显示图形
plt.show()
将为多组数据创建小提琴图,如下图所示:


图 2 为多组数据创建小提琴图

相关文章