科研绘图系列:python语言分组条形图(grouped barplot plot)

在这里插入图片描述

介绍

分组条形图(Grouped Bar Chart)是一种数据可视化图表,用于比较不同组别在各个类别上的数值。它通过并排放置的条形来展示每个组别在不同类别上的数据,使得比较直观且易于理解。这种图表非常适合展示多个组别在多个类别上的数据分布和比较。

加载python包

导入所需要的R包,在导入前需要用户自己安装。

import pandas as pd 

from scipy.stats import mannwhitneyu
import matplotlib.pyplot as plt 
import pandas as pd 
import seaborn as sns 

导入数据

数据可从以下链接下载(画图所需要的所有数据):

  • 百度云盘链接: https://pan.baidu.com/s/1mlewsOjqe7LUNGF4FU0jkw

  • 提取码: y2za

Python中,我们可以使用Seaborn库结合pandas来进行数据可视化。假设我们有一个名为`student_data.csv`的校生数据集,其中包含学生性别和省份信息。以下是步骤: 1. 统计并绘制饼图: ```python import pandas as pd import seaborn as sns import matplotlib.pyplot as plt # 加载数据 data = pd.read_csv('student_data.csv') # 分别计算男生和女生的人数 gender_counts = data.groupby('gender')['gender'].count() plt.figure(figsize=(8,6)) sns.countplot(x='gender', data=data, labels=gender_counts.index, autopct='%1.1f%%') plt.title('该校男生和女生人数比例') plt.show() ``` 2. 绘制柱状图显示各省份人数: ```python province_counts = data.groupby('province')['gender'].count() plt.figure(figsize=(10,6)) sns.barplot(x=province_counts.index, y=province_counts.values) plt.title('该校各省份人数') plt.xlabel('省份') plt.ylabel('人数') plt.show() ``` 3. 绘制堆积条形图分组条形图(展示各省份男女学生分布): ```python fig, (ax1, ax2) = plt.subplots(nrows=1, ncols=2, figsize=(15,6)) stacked_bar = data.groupby(['province', 'gender']).size().unstack(fill_value=0) sns.barplot(ax=ax1, data=stacked_bar, stacked=True) ax1.set_title('该校各省份男女学生堆积条形图') grouped_bar = stacked_bar.plot(kind='bar', stacked=False, ax=ax2) ax2.set_title('该校各省份男女学生分组条形图') ax2.yaxis.tick_left() # 移除右边y轴标签以避免重叠 plt.tight_layout() plt.show() ``` 这里,第一个图表展示了每个省份男女人数的累积情况,而第二个图表则分开显示男女人数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信学习者1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值