import numpy as np
import matplotlib.pyplot as plt
df=np.load(“C:\Users\Dell\Desktop\populations.npz”)

def getKeys(df):
ks=[]
for i in df.keys():
ks.append(i)
return ks
keys = getKeys(df)
values = df[keys[0]]
name = df[keys[1]]

plt.rcParams[‘font.sans-serif’]=‘SimHei’
plt.rcParams[‘axes.unicode_minus’]=False
p=plt.figure(figsize=(8,7))
ax1=p.add_subplot(2,1,1)
plt.scatter(values[0:20,0],values[0:20,1],marker=‘o’,c=‘r’)
plt.scatter(values[0:20,0],values[0:20,2],marker=‘D’,c=‘b’)
plt.scatter(values[0:20,0],values[0:20,3],marker=‘v’,c=‘y’)
plt.scatter(values[0:20,0],values[0:20,4],marker=‘p’,c=‘g’)
plt.scatter(values[0:20,0],values[0:20,5],marker=’+’,c=‘c’)
plt.xlabel(‘年份’)
plt.ylabel(‘人口数’)
plt.xticks(range(0,20,1),values[:,0],rotation=90)
plt.legend([‘年末’,‘男性’,‘女性’,‘城镇’,‘乡村’])

ax2=p.add_subplot(2,1,2)
plt.plot(values[0:20,0],values[0:20,1],‘r-’,
values[0:20,0],values[0:20,2],‘b-.’,
values[0:20,0],values[0:20,3],‘y–’,
values[0:20,0],values[0:20,4],‘g:’,
values[0:20,0],values[0:20,5],‘m-.’)
plt.legend([‘年末’,‘男性’,‘女性’,‘城镇’,‘乡村’])
plt.xlabel(‘年份’)
plt.ylabel(‘人口数’)
plt.xticks(range(0,20,1),values[:,0],rotation=90)
#plt.xticks(range(0,20,4),values[range(0,20,4),0],rotation=90)
#添加间距
plt.show()

python————matplotlib

import numpy as np
import matplotlib.pyplot as plt
df=np.load(“C:\Users\Dell\Desktop\populations.npz”)

def getKeys(df):
ks=[]
for i in df.keys():
ks.append(i)
return ks
keys = getKeys(df)
values = df[keys[0]]
name = df[keys[1]]

plt.rcParams[‘font.sans-serif’]=‘SimHei’
plt.rcParams[‘axes.unicode_minus’]=False
p=plt.figure(figsize=(8,7))
ax1=p.add_subplot(3,1,1)
plt.bar(range(4),values[0,2:6],width=0.9)
plt.xlabel(‘2015年’)
plt.ylabel(‘各个人口数’)
plt.xticks(range(4),[‘男性’,‘女性’,‘城镇’,‘乡村’])

ax2=p.add_subplot(3,1,2)
plt.pie(values[0,2:6],labels=[‘男性’,‘女性’,‘城镇’,‘乡村’],
explode=[0.01,0.01,0.01,0.01],
autopct="%1.1f%%")
plt.title(‘2015年份各个人口数所占比重’)

ax3=p.add_subplot(3,1,3)
label=[‘男性’,‘女性’,‘城镇’,‘乡村’]
gdp=(list(values[0:20,2]),list(values[0:20,3]),
list(values[0:20,4]),list(values[0:20,5]))
plt.boxplot(gdp,notch=True,labels=label,meanline=True)
plt.title(‘2015-1996各个特征人口变化’)
plt.show()

python————matplotlib

相关文章: