第3章,matplotlib数据化基础,实训2

import numpy as np
import matplotlib.pyplot as plt

data=np.load(‘populations.npz’,allow_pickle=True) ##读入数据
name=data[‘feature_names’] ##提取其中的feature_names数组,视为数据的标签
values=data[‘data’] ##提取其中的data数组,视为数据的存在位置
plt.rcParams[‘font.sans-serif’]=‘SimHei’ ##设置中文显示
label1=[‘男性’,‘女性’]
label2=[‘城镇’,‘乡村’]
ex=[0.01,0.01] ##饼图:设定各项距离圆心n个半径

##直方图
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(‘人口/(万人)’) ##y轴名称
plt.ylim(0,80000)#设置当前图形y轴的范围
plt.xticks(range(2),label1) ##指定x轴刻度的数目与取值
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(‘人口/(万人)’) ##y轴名称
plt.ylim(0,80000) ##指定y轴的范围
plt.xticks(range(2),label1) ##指定x轴的刻度
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(‘类别’) ##x轴名称
plt.ylabel(‘人口/(万人)’) ##y轴名称
plt.ylim(0,90000) ##指定y轴的范围
plt.xticks(range(2),label2) ##指定x轴的刻度
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(‘类别’) ##x轴名称
plt.ylabel(‘人口/(万人)’) ##y轴名称
plt.ylim(0,90000) ##指定y轴的范围
plt.xticks(range(2),label2) ##指定x轴的刻度
plt.title(‘2015年城、乡人口数直方图’) ##图片名称
plt.savefig(‘1996、2015年各类人口直方图.png’) ##保存图片

##饼图
##exlode-接收array,表示指定项距离饼图圆心为n个半径,默认为none
##labels-接收array,指定每一项的名称,默认为none
##autopct-接收特定string,指定数值的显示方式,默认为none
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年城、乡人口数饼图’) ##图片名称
plt.savefig(‘1996、2015年各类人口饼图.png’) ##保存图片

##箱线图
p3=plt.figure(figsize=(10,10)) ##创建画布
plt.boxplot(values[0:20,1:6],notch=True,labels=[‘年末’,‘男性’,‘女性’,‘城镇’,‘乡村’],meanline=True)
##notch-接收boolean,表示中间箱体是否有缺口,默认为none
##labels-接收array,指定一个箱线图的标签,默认为none
##meanline-接收boolean,表示是否显示均值线,默认为false
plt.xlabel(‘类别’) ##x轴名称
plt.ylabel(‘人口/(万人)’) ##y轴名称
plt.title(‘1996~2015年各特征人口箱线图’) ##图片名称
plt.savefig(‘1996~2015年各特征人口箱线图.png’) ##保存图片
plt.show() ##显示图片

你可能感兴趣的:(Python)