Python实验四:实验四:Matplotlib数据可视化数据可视化
Python实验四:实验四:Matplotlib数据可视化数据可视化
实验内容:
任务一:分析任务一:分析1996~2015年人口数据特征间的关系年人口数据特征间的关系
需求说明:人口数据总共拥有 6 个特征,分别为年末总人口、男性人口、女性人口、城镇人口、乡村人口和年份。查看各个
特征随着时间推移发生的变化情况可以分析出未来男女人口比例、城乡人口变化的方向。
任务二:分析任务二:分析1996~2015年人口数据各个特征的分布与分散状况年人口数据各个特征的分布与分散状况
需求说明:通过绘制各年份男女人口数目及城乡人口数目的直方图,男女人口比例及城乡人口比例的饼图可以发现人口结构的
变化。而绘制每个特征的箱线图则可以发现不同特征增长或者减少的速率是否变得缓慢。
实验步骤实验步骤:
任务一步骤:任务一步骤:
(1)使用NumPy库读取人口数据。
(2)创建画布figsize=(12,12),并添加子图。
(3)在两个子图上分别绘制散点图其中(marker=’8’,color=’red’)和折线图。
(4)将绘制的散点图和折线图保存在当前文件夹下,分别为“image1.png”和“image2.png”。
(5)显示图片并分析未来人口变化趋势。
import numpy as np
import matplotlib.pyplot as plt
data = np.load('populations.npz')
# print(data['data'])
# print(data['feature_names'])
plt.rcParams['font.sans-serif'] = 'SimHei'
name = data['feature_names'] values = data['data']
pic_1 = plt.figure(figsize=(12, 12))
pic_11 = pic_1.add_subplot(2, 1, 1)
plt.scatter(values[0:20, 0], values[0:20, 1], marker='8', color='red')
plt.legend('年末')
plt.ylabel('总人口(万人)')
plt.title('1996~2015年末与各类人口散点图')
pic2 = pic_1.add_subplot(2, 1, 2)
plt.scatter(values[0:20, 0], values[0:20, 2], marker='o', color='yellow')
plt.scatter(values[0:20, 0], values[0:20, 3], marker='D', color='green')
plt.scatter(values[0:20, 0], values[0:20, 4], marker='p', color='blue')
plt.scatter(values[0:20, 0], values[0:20, 5], marker='s', color='purple')
plt.xlabel('时间')
plt.ylabel('总人口(万人)')
plt.xticks(values[0:20, 0])
plt.legend(['男性', '女性', '城镇', '乡村'])
plt.savefig('image1.png')
pic_2 = plt.figure(figsize=(12, 12))
pic_21 = pic_2.add_subplot(2, 1, 1)
plt.plot(values[0:20, 0], values[0:20, 1], color='r', linestyle='--', marker='8')
plt.ylabel('总人口(万人)')
plt.xticks(range(0, 20, 1), values[range(0, 20, 1), 0], rotation=45)
plt.legend('年末')
plt.title('1996~2015年末总与各类人口折线图')
pic2 = pic_2.add_subplot(2, 1, 2)
plt.plot(values[0:20, 0], values[0:20, 2], 'y-')
plt.plot(values[0:20, 0], values[0:20, 3], 'g-')
plt.plot(values[0:20, 0], values[0:20, 4], 'b-')
plt.plot(values[0:20, 0], values[0:20, 5], 'p-')
plt.xlabel('时间')
plt.ylabel('总人口(万人)')
plt.xticks(values[0:20, 0])
plt.legend(['男性', '女性', '城镇', '乡村'])
plt.savefig('image2.png')
- 1
- 2
前往页