import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus']= False
data=np.load('./populations.npz') #加载文件
def getKeys(data):
ks=[]for i in data.keys(): #keys()方法为字典数据按key分开 与item()区分
ks.append(i)return ks
keys=getKeys(data)
values = data[keys[0]][-3::-1,:]
name=data[keys[1]]
i,j=1,0 # 此处为男女人口比例
while(i<=4 and j <=24):
plt.subplot(2,4,i)
labels=[name[2][:4],name[3][:4]]
sizes=[values[j][2]/values[j][1],values[j][3]/values[j][1]]
plt.pie(sizes, labels=labels, autopct='%1.1f%%',shadow=True, startangle=90)
# Equal aspect ratio ensures that pie is drawn as a circle.
plt.axis('equal')
i+=1
j+=6
m,n=5,0 #此处为城乡人口比例
while(m<=8 and n <=24):
plt.subplot(2,4,m)
labels=[name[4][:4],name[5][:4]]
sizes=[values[n][4]/values[n][1],values[n][5]/values[n][1]]
plt.pie(sizes, labels=labels, autopct='%1.1f%%',shadow=True, startangle=90)
# Equal aspect ratio ensures that pie is drawn as a circle.
plt.axis('equal')
m+=1
n+=6
plt.show()