怎么用python画出一个多元折线图,x轴为2010-2017年份,y轴为北京当年的常住人口和户籍人口流动人口,要求不同折线用不同的颜色,并且折线的每个点会展示具体数值
时间: 2024-02-27 09:51:25 浏览: 90
要画一个多元折线图,可以使用matplotlib库和pandas库。以下是一个简单的例子:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 创建一个DataFrame
data = {
'year': [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017],
'permanent_residents': [1800, 1900, 2000, 2100, 2200, 2300, 2400, 2500],
'registered_residents': [1500, 1600, 1700, 1800, 1900, 2000, 2100, 2200],
'floating_population': [300, 400, 500, 600, 700, 800, 900, 1000]
}
df = pd.DataFrame(data)
# 设置x轴为年份
x = df['year']
# 设置y轴为常住人口、户籍人口和流动人口
y1 = df['permanent_residents']
y2 = df['registered_residents']
y3 = df['floating_population']
# 绘制折线图
plt.plot(x, y1, color='blue', label='Permanent Residents')
plt.plot(x, y2, color='green', label='Registered Residents')
plt.plot(x, y3, color='red', label='Floating Population')
# 显示每个点的具体数值
for i, j in zip(x, y1):
plt.text(i, j, str(j), ha='center', va='bottom')
for i, j in zip(x, y2):
plt.text(i, j, str(j), ha='center', va='bottom')
for i, j in zip(x, y3):
plt.text(i, j, str(j), ha='center', va='bottom')
# 添加图例和标签
plt.legend()
plt.xlabel('Year')
plt.ylabel('Population')
# 显示图形
plt.show()
```
这段代码将创建一个DataFrame,其中包含2010-2017年份的常住人口、户籍人口和流动人口数据。然后,我们使用matplotlib库的plot函数来绘制一个多元折线图,其中每个折线用不同的颜色表示。我们还使用text函数在每个点上显示具体数值。最后,我们添加了图例和标签,并使用show函数显示图形。
你可以根据自己的需求修改这段代码,例如更改数据、添加更多的折线、更改颜色、添加标题等。
阅读全文