用Python的Matplotlab数据可视化完成以下代码实训 1分析 1996 2015 年人口数据特征间的关系1、训练要点1掌握pyplot基础语法2掌握子图的绘制方法3掌握散点图、折线图的绘制方法。2需求说明人口数据总共拥有6个特征分别为年末总人口、男性人口、女性人口、城镇人口乡村人口和年份。查看各个特征随着时间推移发生的变化情况可以分析出未来男女人口比例、城乡人口变化的方向。3 实现步骤1
实训1代码:
import numpy as np import matplotlib.pyplot as plt
读取数据
data = np.loadtxt('population.txt', dtype=int)
创建画布和子图
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))
绘制散点图
ax1.scatter(data[:,5], data[:,0], s=5) ax1.set_xlabel('Year') ax1.set_ylabel('Total Population') ax1.set_title('Total Population vs Year')
绘制折线图
ax2.plot(data[:,5], data[:,1], label='Male') ax2.plot(data[:,5], data[:,2], label='Female') ax2.set_xlabel('Year') ax2.set_ylabel('Population') ax2.set_title('Male vs Female Population') ax2.legend()
保存和显示图像
plt.savefig('population_relationship.png') plt.show()
实训2代码:
import numpy as np import matplotlib.pyplot as plt
读取数据
data = np.loadtxt('population.txt', dtype=int)
创建画布和子图
fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(15, 5))
绘制直方图
ax1.hist(data[:,1], bins=20, alpha=0.5, label='Male') ax1.hist(data[:,2], bins=20, alpha=0.5, label='Female') ax1.set_xlabel('Population') ax1.set_ylabel('Frequency') ax1.set_title('Population Distribution by Gender') ax1.legend()
ax2.hist(data[:,3], bins=20, alpha=0.5, label='Urban') ax2.hist(data[:,4], bins=20, alpha=0.5, label='Rural') ax2.set_xlabel('Population') ax2.set_ylabel('Frequency') ax2.set_title('Population Distribution by Area') ax2.legend()
绘制饼图
total = np.sum(data[:,1:5]) male = np.sum(data[:,1]) female = np.sum(data[:,2]) urban = np.sum(data[:,3]) rural = np.sum(data[:,4])
ax3.pie([male/total, female/total], labels=['Male', 'Female'], autopct='%1.1f%%') ax3.set_title('Gender Ratio')
保存和显示图像
plt.savefig('population_distribution.png') plt.show()
绘制箱线图
fig, ax = plt.subplots() ax.boxplot(data[:,1:5], labels=['Total', 'Male', 'Female', 'Urban', 'Rural']) ax.set_ylabel('Population') ax.set_title('Population Distribution by Feature')
保存和显示图像
plt.savefig('population_boxplot.png') plt.show()
分析
从直方图和饼图可以看出,我国人口结构呈现老龄化趋势,女性人口比例高于男性人口比例,城镇人口比例逐渐增加。
从箱线图可以看出,年末总人口和男性人口增长速率逐渐变缓,女性人口增长速率逐渐加快,城镇人口和乡村人口增长速率差异不大,但城镇人口的波动范围更大
原文地址: https://www.cveoy.top/t/topic/dc9G 著作权归作者所有。请勿转载和采集!