关于全球年龄的数据分析代码解析和学习

import matplotlib.pyplot as plt
import numpy as np

data = np.genfromtxt(r"C:\Users\fuyan\Desktop\P_Data_Extract_From_World_Development_Indicators (1)\6565c102-2cd7-449c-84b5-69aecdda59c5_Data.txt",
                     delimiter=',',
                     names=['x', 'y'])
da1960  = data[0][1]
da2016  = data[-1][1]
increase = (da2016 - da1960) / da1960
note = 'from {:.2f} in 1960 to {:.2f} in 2016, increased  {:.2%}'\
    .format(da1960, da2016, increase)

plt.figure(figsize=(10, 5))
plt.plot(data['x'], data['y'])
plt.ylabel('Life Expectancy from Birth')
plt.tick_params(axis='x', rotation=70)
plt.title('CHINA\n' + note)

# plt.savefig('life-expectancy-china-1960-2016.png', transparent=True)
plt.show()

这是一个Python脚本,主要使用了matplotlib和numpy两个库来生成一个关于中国人口出生时预期寿命的折线图。脚本从指定的CSV文件中读取数据,提取出1960年和2016年的预期寿命数据,并计算出增长率。最后,脚本生成一个带有标题和y轴标签的折线图,并在标题中显示增长率。

下面是对代码的逐段解释:

导入必要的库:
python
复制
import matplotlib.pyplot as plt
import numpy as np

matplotlib.pyplot 是一个用于生成图表的库。
numpy 是一个用于处理数组和数学计算的库。
从CSV文件中加载数据:
python
复制
data = np.genfromtxt(r"C:\Users\fuyan\Desktop\P_Data_Extract_From_World_Development_Indicators (1)\6565c102-2cd7-449c-84b5-69aecdda59c5_Data.txt",
delimiter=‘,’,
names=[‘x’, ‘y’])

np.genfromtxt 用于从文本文件中加载数据。
delimiter=‘,’ 指定CSV文件中的分隔符是逗号。
names=[‘x’, ‘y’] 指定数据列的名称分别为 ‘x’ 和 ‘y’。
提取1960年和2016年的预期寿命数据:
python
复制
da1960 = data[0][1]
da2016 = data[-1][1]

data[0][1] 获取第一行数据的第二个元素(即1960年的预期寿命)。
data[-1][1] 获取最后一行数据的第二个元素(即2016年的预期寿命)。
计算预期寿命的增长率:
python
复制
increase = (da2016 - da1960) / da1960

格式化增长率字符串:
python
复制
note = ‘from {:.2f} in 1960 to {:.2f} in 2016, increased {:.2%}’
.format(da1960, da2016, increase)

“{:.2f}” 表示格式化浮点数,保留两位小数。
“{:.2%}” 表示格式化百分比,保留两位小数。
创建图表并设置其大小:
python
复制
plt.figure(figsize=(10, 5))

figsize=(10, 5) 设置图表的宽度为10英寸,高度为5英寸。
绘制折线图:
python
复制
plt.plot(data[‘x’], data[‘y’])

plt.plot 用于绘制折线图,data[‘x’] 是x轴数据,data[‘y’] 是y轴数据。
设置y轴标签:
python
复制
plt.ylabel(‘Life Expectancy from Birth’)

旋转x轴刻度标签:
python
复制
plt.tick_params(axis=‘x’, rotation=70)

axis=‘x’ 指定设置x轴。
rotation=70 指定刻度标签旋转70度。
设置图表标题:
python
复制
plt.title(‘CHINA\n’ + note)

\n 是换行符,将国家名和增长率说明分成两行显示。
显示图表:
python
复制
plt.show()

plt.show() 用于显示生成的图表。

注释掉的代码 # plt.savefig(‘life-expectancy-china-1960-2016.png’, transparent=True) 是用于保存图表为PNG图片文件的,如果取消注释,将会保存图表到文件中,transparent=True 表示保存的图片背景为透明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值