python簇状柱形图_Python:matplotlib 和 Seaborn 之簇状柱形图、分面 (三十五)

本文介绍了如何使用Seaborn和Matplotlib库创建簇状柱形图,以展示两个分类变量间的关系。通过`countplot`函数,展示了如何通过'hue'参数添加第二个分类变量,以及如何调整图例位置。此外,还探讨了热图作为另一种表示方式,并使用`heatmap`函数创建热图,强调了添加注释以提高可读性的方法。最后,文章介绍了分面技术,通过`FacetGrid`创建分面图形,便于比较不同分类变量级别的数值变量分布。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

簇状柱形图

为了描绘两个分类变量之间的关系,我们可以将在上节课见到的单变量条形图扩展为簇状柱形图。和标准条形图一样,我们依然需要描绘每组的数据点计数,但是每组现在是两个变量的标签组合。因此我们需要按照某种顺序整理长条,使图形容易解释。在簇状柱形图中,我们根据第一个变量的级别将长条分成一簇,然后在每个簇内根据第二个变量对长条进行排序。使用 seaborn 的 countplot 函数通过一个示例来讲解最容易理解。要使图形从单变量图形变成双变量图形,我们用 "hue" 参数添加第二个变量:

sb.countplot(data = df, x = 'cat_var1', hue = 'cat_var2')

第一个分类变量用很宽泛的 x 轴表示(对照组、实验 A、实验 B)。在每组绘制三个长条,第二个分类变量的每个级别对应一个长条(低、中、高)。用颜色区分每个级别,并在图形的右上角用图例记录。图形告诉我们三个 "cat_var1" 群组在 "cat_var2" 级别的频率分布很平衡,虽然 "实验 A" 组与另外两组相比,中间点(橙色中心长条)的计数稍微低些。

但是,该示例中的图例位置有点干扰性。我们可以使用 Axes 方法设置 countplot 返回的 Axes 对象的 legend 属性。

ax = sb.countplot(data = df, x = 'cat_var1', hue = 'cat_var2')

ax.legend(loc = 8, ncol = 3, framealpha = 1, title = 'cat_var2')

其他方法(热图)

描绘两个分类变量之间关系的另一种方式是热图。之前我们介绍热图是直方图的二维版本;现在我们将其当做条形图的二维版本。seaborn 函数 heatmap 可以轻松地实现这种类型的热图,但是输入参数与我们在这门课程中介绍的大部分可视化函数不一样。我们需要将计

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值