复习自用4:Matplotlib数据可视化基础

任务实现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()

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值