栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

复习自用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()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/870132.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号