任务实现1:绘制各产业与行业的国民生产总值散点图
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans_serif']='SimHei'
plt.rcParams['axes.unicode_minus']=False
data=np.load('d:/code/data.npz')
name=data['columns']
values=data['values']
p=plt.figure(figsize=(12,12))
ax1=p.add_subplot(2,1,1)
plt.scatter(values[:,0],values[:,3],marker='o',c='r')
plt.scatter(values[:,0],values[:,4],marker='D',c='b')
plt.scatter(values[:,0],values[:,5],marker='v',c='y')
plt.title('2000-2017年各产业极度生产总值散点图')
plt.legend(['第一产业','第二产业','第三产业'])
plt.xlabel('年份')
plt.ylabel('生产总值(亿元)')
#ax2 略
plt.savefig('d:/code/2000-2017年季度生产总值散点图')
plt.show()
任务实现2:绘制各产业与行业的国民生产总值折线图
p1=plt..figure(figsize=(8,7))
ax3=p1.add_subplot(2,1,1)
plt.plot(values[:,0],values[:,3],'b-,values[:,0],values[:,4],'r-.',values[:,0],values[:,5],'g--')
plt.ylabel('生产总值(亿元)')
plt.title('2000-2017年各产业季度生产总值折线图')
plt.legend(['第一产业','第二产业','第三产业'])
#ax4 省略plot部分
plt.legend(['农业','工业','建筑','批发','交通','餐饮','金融','房地产','其他'])
plt.xlabel('年份')
plt.ylabel('生产总值(亿元)')
plt.xticks(range(0,70,4),values[(range(0,70,4))],rotation=45)
plt.savefig('d:/code/2000-2017年度生产总值折线图')
plt.show()
任务实现1:绘制国民生产总值构成分布直方图
import numpy as np
import matplotlib.pyplot as plt
data=np.load('d:/code/data.npz')
name=data['columns']
values=data['values']
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus']=False
label1=['第一产业','第二产业','第三产业']
label2=['农业','工业','建筑','批发','交通','餐饮','金融','房地产','其他']
p=plt.figure(figsize=(12,12))
ax1=p.add_subplot(2,2,1)
plt.bar(range(3),values[0,3:6],width=0.5)
plt.xlabel('产业')
plt.ylabel('生产总值(亿元)')
plt.xticks(range(3),label1)
plt.title('2000年第一季度国民生产总值产业构成分布直方图')
ax2=p.add_subplot(2,2,2)
plt.bar(range(3),values[-1,3:6],width=0.5)
plt.xlabel('产业')
plt.ylabel('生产总值(亿元)')
plt.xticks(range(3),label1)
plt.title('2017年第一季度国民生产总之产业构成分布直方图')
ax3=p.add_subplot(2,2,3)
plt.bar(range(9),values[0,6:],width=0.5)
plt.xlabel('行业')
plt.ylabel('生产总值(亿元)')
plt.xticks(range(3),label2)
plt.title('2000年第一季度国民生产总值行业构成分布直方图')
ax4=p.add_subplot(2,2,4)
plt.bar(range(9),values[-1,6:],width=0.5)
plt.xlabel('行业')
plt.ylabel('生产总值(亿元)')
plt.xticks(range(3),label2)
plt.title('2017年第一季度国民生产总值行业构成分布图')
plt.savefig('d:/code/国民生产总值构成分布直方图.png')
plt.show()
任务实现2:绘制国民生产总值构成分布饼图
label1=['第一产业','第二产业','第三产业']
label2=['农业','工业','建筑','批发','交通','餐饮','金融','房地产','其他']
explode1=[0.01,0.01,0.01]
explode2=[0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01,0.01]
p=plt.figure(figsize=(12,12))
ax1=p.add_subplot(2,2,1)
plt.pie(values[0,3:6],explode=explode1,labels=label1,autopct='%.1f%%')
plt.title('2000年第一季度国民生产总值产业分布饼图')
ax2=p.add_subplot(2,2,2)
plt.pie(values[-1,3:6],explode=explode1,labels=label1,autopct='%.1f%%')
plt.title('2017年第一季度国民生产总值产业分布饼图')
ax3=p.add_subplot(2,2,3)
plt.pie(values[0,6:],explode=explode2,labels=label2,autopct='%.1f%%')
plt.title('2000年第一季度国民生产总值行业分布饼图')
ax4=p.add_subplot(2,2,4)
plt.pie(values[-1,6:],explode=explode2,labels=label2,autopct='%.1f%%')
plt.title('2017年第一季度国民生产总值行业分布饼图')
plt.savefig('d:/code/国民生产总值饼图.png')
plt.show()
任务实现3:绘制国民生产总值分散情况箱线图
label1=['第一产业','第二产业','第三产业']
label2=['农业','工业','建筑','批发','交通','餐饮','金融','房地产','其他']
gdp1=(list(values[:,3]),list(values[:,4]),list(values[:,5]))
gdp2=(list(values[:,i]) for i in range(6,15))
p=plt.figure(figsize=(8,8))
ax1=p.add_subplot(2,1,1)
plt.boxplot(gdp1,notch=True,labels=label1,meanline=True)
plt.title('2000-2017各产业国民生产总值箱线图')
plt.xlabel('产业')
plt.ylabel('生产总值(亿元)')
ax2=p.add_subplot(2,2,2)
plt.boxplot(gdp2,notch=True,labels=label2,meanline=True)
plt.title('2000-2017各行业国民生产总值箱线图')
plt.xlabel('行业')
plt.ylabel('生产总值(亿元)')
plt.savefig('d:/code/国民生产总值箱线图')
plt.show()