广告区

广告区


本站消息

站长简介/公众号

关注本站官方公众号:程序员总部,领取三大福利!
福利一:python和前端辅导
福利二:进程序员交流微信群,专属于程序员的圈子
福利三:领取全套零基础视频教程(python,java,前端,php)

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2021-07(1)

2021-08(9)

Python数据分析之Matplotlib数据可视化实例

发布于2020-03-08 22:22     阅读(542)     评论(0)     点赞(24)     收藏(3)



Matplotlib数据可视化的应用实例
分析 :2000至2017年各季度国民生产总值数据
在这里插入图片描述
npy文件——numpy专用的二进制格式
np.load()和np.save()是读写磁盘数组数据的两个重要函数。使用时,数组会以未压缩的原始二进制格式保存在扩展名为.npy的文件中。


分析国民生产总值:

# -- coding:utf-8 --
import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示,否则可能无法显示中文或者是各种字符错乱
plt.rcParams['axes.unicode_minus'] = False
data = np.load("../data/国民经济核算季度数据.npz", allow_pickle=True)  # 加载数据 必须加上allow_pickle=True
print(data)  # 这时的data是数据对象,
print(data['columns']) 
print(data['values'])  
name = data['columns']
values = data['values']
plt.figure(figsize=(10, 10))
plt.scatter(values[:, 0], values[:, 2], marker='o')  # 画散点图
plt.xlabel('年份')
plt.ylabel('生产总值(亿元)')
plt.ylim((0, 225000))
plt.xticks(range(0, 70, 4), values[range(0, 70, 4), 1], rotation=45)  # 此时取得值都是第一季度的
plt.title('2000-2017年季度生产总值散点图')
plt.savefig('../images/2000-2017年季度生产总值散点图.png')  # 图片要先保存再显示
plt.show()  # 在当前设备显示图片

在这里插入图片描述


分析 :第一二三产业的的国民生产总值

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示,否则可能无法显示中文或者是各种字符错乱
plt.rcParams['axes.unicode_minus'] = False
data = np.load("../data/国民经济核算季度数据.npz", allow_pickle=True)  # 加载数据 必须加上
values = data['values']
plt.figure(figsize=(10, 10))
# 绘制的第一二三产业的增加值
plt.scatter(values[:, 0], values[:, 3], marker='o', c='red')  
plt.scatter(values[:, 0], values[:, 4], marker='*', c='blue')
plt.scatter(values[:, 0], values[:, 5], marker='v', c='yellow')
plt.xlabel('年份')
plt.ylabel('生产总值(亿元)')
plt.xticks(range(0, 70, 4), values[range(0, 70, 4), 1], rotation=45)  # 此时取得值都是第一季度的
plt.title('2000-2017年季度生产总值散点图')
plt.legend(['第一产业', '第二产业', '第三产业'])
plt.savefig('../images/2000-2017年季度生产总值散点图.png')  # 注意要先保存再show
plt.show()

在这里插入图片描述


分析 :利用折线图分析第一季度

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示,否则可能无法显示中文或者是各种字符错乱
plt.rcParams['axes.unicode_minus'] = False
data = np.load("../data/国民经济核算季度数据.npz", allow_pickle=True)  # 加载数据 必须加上
values = data['values']
plt.figure(figsize=(10, 10))
plt.plot(values[:, 0], values[:, 2], color='k', linestyle='-')
plt.xlabel('年份')
plt.ylabel('生产总值(亿元)')
plt.xticks(range(0, 70, 4), values[range(0, 70, 4), 1], rotation=45)  # 此时取得值都是第一季度的
plt.title('2000-2017年季度生产总值折线图')
plt.savefig('../images/2000-2017年季度生产总值散点图.png')  # 注意要先保存再show
plt.show()

在这里插入图片描述


分析 :利用直方图分析第一季度国民生产总值

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示,否则可能无法显示中文或者是各种字符错乱
plt.rcParams['axes.unicode_minus'] = False
data = np.load("../data/国民经济核算季度数据.npz", allow_pickle=True)  # 加载数据 必须加上
values = data['values']
plt.figure(figsize=(10, 10))
l = ['r', 'g', 'b']
m = ['o', '*', 'D']
for i in enumerate([0, 1, 2]):
   plt.bar(range(3), values[-1, 3:6], width=0.5, color=l)
plt.xlabel('行业', fontsize=20)
plt.ylabel('生产总值(亿元)', fontsize=20)
plt.xticks(range(3), ['第一产业', '第二产业', '第三产业'])
plt.title('2017年第一季度国民生产总值直方图')
plt.savefig('../images/2000-2017年季度生产总值脂肪图.png')
plt.show()

在这里插入图片描述


分析 :利用饼图分析2017年第一季度各产业国民生产总值

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示,否则可能无法显示中文或者是各种字符错乱
plt.rcParams['axes.unicode_minus'] = False
data = np.load("../data/国民经济核算季度数据.npz", allow_pickle=True)  # 加载数据 必须加上
values = data['values']
plt.figure(figsize=(6, 6))
label = ['第一产业', '第二产业', '第三产业']
explode = [0.01, 0.05, 0.03]  # 设置指定项距离圆心的距离为N 倍的半径
plt.pie(values[-1, 3:6], explode=explode, labels=label, autopct='%.2f %%')
plt.title('2017年第一季度各产业国民生产总值饼图')
plt.savefig('../images/2000-2017年季度生产总值饼图.png')
plt.show()

在这里插入图片描述
分析 :利用箱线图分析2017年第一季度各产业国民生产总值

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示,否则可能无法显示中文或者是各种字符错乱
plt.rcParams['axes.unicode_minus'] = False
data = np.load("../data/国民经济核算季度数据.npz", allow_pickle=True)  # 加载数据 必须加上
values = data['values']
plt.figure(figsize=(6, 6))
label = ['第一产业', '第二产业', '第三产业']
gdp = (list(values[:, 3]), list(values[:, 4]), list(values[:, 5]))
plt.boxplot(gdp, notch=True, labels=label, meanline=True)  # 第一个参数是数据,第二个参数是是否带有缺口,第三个参数是标签,第四个参数是是否带有均值线
plt.title('2017年第一季度各产业国民生产总值箱线图')
plt.savefig('../images/2017年第一季度各产业国民生产总值箱线图.png')
plt.show()

在这里插入图片描述


END







所属网站分类: 技术文章 > 博客

作者:32738ew

链接:https://www.pythonheidong.com/blog/article/248628/4f4f9d50a759eba9e26d/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

24 0
收藏该文
已收藏

评论内容:(最多支持255个字符)