数据可视化|实验五 分析1996-2015年人口数据各个特征的分布与分散状况

使用 NumPy 库读取人口数据

使用 numpy 库读取人口数据,分析 1996~2015 年人口数据特征间的关系。

%matplotlib inline

import numpy as np

import matplotlib.pyplot as plt
# 实训 1 分析 1996~2015 年人口数据特征间的关系
#使用 numpy 库读取人口数据
data=np.load('./populations.npz',allow_pickle=True)
print(data.files)# 查看文件中的数组
print(data['data'])
print(data['feature_names'])
plt.rcParams['font.sans-serif']='SimHei'# 设置中文显示
name=data['feature_names']# 提取其中的 feature_names 数组,视为数据的标签
values=data['data']# 提取其中的 data 数组,视为数据的存在位置

数据可视化|实验五 分析1996-2015年人口数据各个特征的分布与分散状况_第1张图片

创建 3 幅画布并添加对应数目的子图

%matplotlib inline

import numpy as np

import matplotlib.pyplot as plt
# 实训 1 分析 1996~2015 年人口数据特征间的关系
#使用 numpy 库读取人口数据
data=np.load('./populations.npz',allow_pickle=True)
plt.rcParams['font.sans-serif']='SimHei'# 设置中文显示
name=data['feature_names']# 提取其中的 feature_names 数组,视为数据的标签
values=data['data']# 提取其中的 data 数组,视为数据的存在位置
label1=['男性','女性']
label2=['城镇','乡村']
#1. 直方图
p1=plt.figure(figsize=(12,12))
# 子图 1
a1=p1.add_subplot(2,2,1)
plt.bar(range(2),values[19,2:4],width=0.5,color='orange')
plt.ylabel(' 人口(万人) ')
plt.ylim(0,80000)
plt.xticks(range(2),label1)
plt.title('1996 年男、女人口数直方图 ')
# 子图 2
b1=p1.add_subplot(2,2,2)
plt.bar(range(2),values[0,2:4],width=0.5,color='red')
plt.ylabel(' 人口(万人) ')
plt.ylim(0,80000)
plt.xticks(range(2),label1)
plt.title('2015 年男、女人口数直方图 ')
# 子图 3
c1=p1.add_subplot(2,2,3)
plt.bar(range(2),values[19,4:6],width=0.5,color='orange')
plt.xlabel(' 类别 ')
plt.ylabel(' 人口(万人) ')
plt.ylim(0,90000)
plt.xticks(range(2),label2)
plt.title('1996 年城、乡人口数直方图 ')
# 子图 4
d1=p1.add_subplot(2,2,4)
plt.bar(range(2),values[0,4:6],width=0.5,color='red')
plt.xlabel(' 类别 ')
plt.ylabel(' 人口(万人) ')
plt.ylim(0,90000)
plt.xticks(range(2),label2)
plt.title('2015 年城、乡人口数直方图 ')
ex=[0 for x in data]
ex[0] = 0.015
#2. 饼图
p2=plt.figure(figsize=(8,8))
# 子图 1
a2=p2.add_subplot(2,2,1)
plt.pie(values[19,2:4],explode=ex,labels=label1,colors=['pink','crimson'],autopct='%1.1f%%')
plt.title('1996 年男、女人口数饼图 ')
# 子图 2
b2=p2.add_subplot(2,2,2)
plt.pie(values[0,2:4],explode=ex,labels=label1,colors=['PeachPuff','skyblue'],autopct='%1.1f%%')
plt.title('2015 年男、女人口数饼图 ')
# 子图 3
c2=p2.add_subplot(2,2,3)
plt.pie(values[19,4:6],explode=ex,labels=label2,colors=['pink','crimson'],autopct='%1.1f%%')
plt.title('1996 年城、乡人口数饼图 ')
# 子图 4
d2=p2.add_subplot(2,2,4)
plt.pie(values[0,4:6],explode=ex,labels=label2,colors=['PeachPuff','skyblue'],autopct='%1.1f%%')
plt.title('2015 年城、乡人口数饼图 ')
#3. 箱线图
p3=plt.figure(figsize=(10,10))
plt.boxplot(values[0:20,1:6],notch=True,labels=[' 年末 ',' 男性 ',' 女性 ',' 城镇 ',' 乡村 '],meanline=True)
plt.xlabel(' 类别 ')
plt.ylabel(' 人口(万人) ')
plt.title('1996~2015 年各特征人口箱线图 ')
# 显示
plt.show()

在每一幅子图上绘制对应的图形

数据可视化|实验五 分析1996-2015年人口数据各个特征的分布与分散状况_第2张图片

数据可视化|实验五 分析1996-2015年人口数据各个特征的分布与分散状况_第3张图片

数据可视化|实验五 分析1996-2015年人口数据各个特征的分布与分散状况_第4张图片

你可能感兴趣的:(数据可视化,可视化,python,数据分析)