Python根据性别中的男女属性绘制各省份男女人数堆叠柱形图,使用seaborn库,把该图放入plt.subplot(2,2,4)中
时间: 2023-05-26 19:06:35 浏览: 144
以下是一种可能的实现方式:
```python
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_csv("population.csv")
# 统计男女人数
counts = data.groupby(["province", "gender"]).size().unstack()
counts = counts.fillna(0)
# 绘制堆叠柱形图
sns.set_style("whitegrid")
plt.subplot(2, 2, 4)
counts.plot(kind="bar", stacked=True)
plt.title("Population by Gender and Province")
plt.xlabel("Province")
plt.ylabel("Population")
plt.xticks(rotation=90)
plt.legend(title="Gender")
plt.tight_layout()
plt.show()
```
其中,“population.csv”是含有省份、性别和人数三列数据的CSV文件,例如:
```
province,gender,population
北京市,男性,5964830
北京市,女性,6134357
天津市,男性,4211502
天津市,女性,3995847
河北省,男性,34539568
河北省,女性,32079331
...
```
这段代码将读取该文件并按省份和性别进行分组,得到各省份男女人数的统计结果。然后使用seaborn库绘制堆叠柱形图,并设定相应的标题、轴标签及图例说明等参数。最后将该图放入plt.subplot(2,2,4)中显示。
阅读全文