根据提供的数据“us-population-by-age”:用Python程序实现堆叠面积图,展示美国1860年—2005年间人口老龄化的变化情况。
时间: 2024-10-26 21:03:51 浏览: 12
python可视化图表案例-面积图与堆叠面积图
为了创建一个堆叠面积图,首先我们需要安装`pandas`, `matplotlib`, 和 `seaborn` 这些库,如果你还没有安装,可以使用pip安装:
```bash
pip install pandas matplotlib seaborn
```
接下来,假设你已经有了名为 "us-population-by-age.csv" 的CSV文件,该文件包含所需的数据,包括年份、年龄组以及对应的人口数。以下是用Python实现堆叠面积图的基本步骤:
```python
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 加载数据
data = pd.read_csv('us-population-by-age.csv')
# 确保年份是索引
data.set_index('Year', inplace=True)
# 按年龄段分组并求和,得到每个年龄段总人口
age_groups = data.groupby(level=0).sum()
# 创建一个宽为每个年龄段宽度的网格
years = age_groups.index.tolist()
ages = list(age_groups.columns)
width = (max(ages) - min(ages)) / len(ages)
# 创建堆叠面积图
plt.figure(figsize=(12, 6))
ax = sns.areaplot(data=age_groups, palette="ch:r=-.2,d=.3_r", linewidth=0.5, stacked=True)
ax.set(xticks=range(len(years)), xticklabels=years,
yticklabels=[''] + ages, ylabel='Population')
# 设置标题和轴标签
title = 'Population Aging in the US (1860-2005)'
plt.title(title)
plt.xlabel('Years')
plt.ylabel('Population (in millions)')
# 显示图形
plt.show()
阅读全文