Python-Matplotlib数据可视化

环境:Windows 10 专业版 + Python 3.9.1 + Anaconda 2020( 4.8.2)

目录

一、实验目的和内容

(一)实验目的

(二)实验内容

二、输入数据集分析

三、源码流程分析

(一)2000-2017年各季度生产总值折线图代码

(二)2000-2017年各产业季度生产总值折线图代码

(三)2000-2017年各产业各行业季度生产总值折线图代码

四、实验结果

(一)2000-2017年各季度生产总值折线图

(二)2000-2017年各产业季度生产总值折线图

(三)2000-2017年各产业各行业季度生产总值折线图


一、实验目的和内容

(一)实验目的

熟悉matplotlib.pyplot库和numpy库,利用Jupyter Notebook编写代码,了解绘图基础语法与常用参数,掌握相关方法的使用,分析特征间的关系,分析特征内部数据分布与分散状况,实现数据的可视化。

(二)实验内容

绘制2000-2017年各产业各季度生产总值折线图,并分析各产业、各行业趋势,季度变化趋势等。

二、输入数据集分析

说明实验课题数据集来源、特征、详细情况,可结合图示、例子进行详细说明。

数据来源:国家统计局。

特征:是numpy类型的数据。

详细情况:包括columns和values的数据。

三、源码流程分析

介绍代码实现的详细过程情况。

(一)2000-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(r'D:/Project/Jupyter_Project/Data/国民经济核算季度数据.npz',allow_pickle=True)

name = data['columns']## 提取其中的columns数组,视为数据的标签

values = data['values']## 提取其中的values数组,数据的存在位置

p1 = plt.figure(figsize=(14,9),dpi = 150)## 设置画布

## 绘制折线图

plt.plot(values[:,1],values[:,2],color ='r',linestyle ='--')

plt.xlabel('年份')## 添加横轴标签

plt.ylabel('生产总值(亿元)')## 添加y轴名称

plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)

plt.title('2000-2017年季度生产总值折线图')## 添加图表标题

plt.savefig(r'D:\Project\Jupyter_Project\Test1\result\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(r'D:/Project/Jupyter_Project/Data/国民经济核算季度数据.npz',allow_pickle=True)
name = data['columns']## 提取其中的columns数组,视为数据的标签
values = data['values']## 提取其中的values数组,数据的存在位置
p1 = plt.figure(figsize=(14,9),dpi = 150)## 设置画布
## 绘制折线图
plt.plot(values[:,1],values[:,2],color ='r',linestyle ='--')
plt.xlabel('年份')## 添加横轴标签
plt.ylabel('生产总值(亿元)')## 添加y轴名称
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
plt.title('2000-2017年季度生产总值折线图')## 添加图表标题
plt.savefig(r'D:\Project\Jupyter_Project\Test1\result\2000-2017年季度生产总值折线图.png')
plt.show()

(二)2000-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(r'D:/Project/Jupyter_Project/Data/国民经济核算季度数据.npz',allow_pickle=True)

name = data['columns']## 提取其中的columns数组,视为数据的标签

values = data['values']## 提取其中的values数组,数据的存在位置

p1 = plt.figure(figsize=(14,9),dpi = 150)## 设置画布

plt.plot(values[:,1],values[:,3],'bs-',values[:,1],values[:,4],'ro-.',values[:,1],values[:,5],'gH--')## 绘制折线图

plt.xlabel('年份')## 添加横轴标签

plt.ylabel('生产总值(亿元)')## 添加y轴名称

plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)

plt.title('2000-2017年各产业季度生产总值折线图')## 添加图表标题

plt.legend(['第一产业','第二产业','第三产业'])

plt.savefig(r'D:\Project\Jupyter_Project\Test1\result\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(r'D:/Project/Jupyter_Project/Data/国民经济核算季度数据.npz',allow_pickle=True)
name = data['columns']## 提取其中的columns数组,视为数据的标签
values = data['values']## 提取其中的values数组,数据的存在位置
p1 = plt.figure(figsize=(14,9),dpi = 150)## 设置画布
plt.plot(values[:,1],values[:,3],'bs-',values[:,1],values[:,4],'ro-.',values[:,1],values[:,5],'gH--')## 绘制折线图
plt.xlabel('年份')## 添加横轴标签
plt.ylabel('生产总值(亿元)')## 添加y轴名称
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
plt.title('2000-2017年各产业季度生产总值折线图')## 添加图表标题
plt.legend(['第一产业','第二产业','第三产业'])
plt.savefig(r'D:\Project\Jupyter_Project\Test1\result\2000-2017年季度各产业生产总值折线图.png')
plt.show()

(三)2000-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(r'D:/Project/Jupyter_Project/Data/国民经济核算季度数据.npz',allow_pickle=True)

name = data['columns']## 提取其中的columns数组,视为数据的标签

values = data['values']## 提取其中的values数组,数据的存在位置

p1 = plt.figure(figsize=(10,9),dpi = 150)## 设置画布

 

## 2000-2017年各产业季度生产总值折线图

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(['第一产业','第二产业','第三产业'])## 添加图例

## 2000-2017年季度各行业生产总值折线图

ax4 = p1.add_subplot(2,1,2)

plt.plot(values[:,0],values[:,6], 'r-',## 绘制折线图

    values[:,0],values[:,7], 'b-.',## 绘制折线图

    values[:,0],values[:,8],'y--',## 绘制折线图

    values[:,0],values[:,9], 'g:',## 绘制折线图

    values[:,0],values[:,10], 'c-',## 绘制折线图

    values[:,0],values[:,11], 'm-.',## 绘制折线图

    values[:,0],values[:,12], 'k--',## 绘制折线图

    values[:,0],values[:,13], 'r:',## 绘制折线图

    values[:,0],values[:,14], 'b-')## 绘制折线图

plt.legend(['农业','工业','建筑','批发','交通','餐饮','金融','房地产','其他'])

plt.xlabel('年份')## 添加横轴标签

plt.ylabel('生产总值(亿元)')## 添加纵轴标签

plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)

plt.savefig(r'D:\Project\Jupyter_Project\Test1\result\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(r'D:/Project/Jupyter_Project/Data/国民经济核算季度数据.npz',allow_pickle=True)
name = data['columns']## 提取其中的columns数组,视为数据的标签
values = data['values']## 提取其中的values数组,数据的存在位置
p1 = plt.figure(figsize=(10,9),dpi = 150)## 设置画布

## 2000-2017年各产业季度生产总值折线图
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(['第一产业','第二产业','第三产业'])## 添加图例
## 2000-2017年季度各行业生产总值折线图
ax4 = p1.add_subplot(2,1,2)
plt.plot(values[:,0],values[:,6], 'r-',## 绘制折线图
    values[:,0],values[:,7], 'b-.',## 绘制折线图
    values[:,0],values[:,8],'y--',## 绘制折线图
    values[:,0],values[:,9], 'g:',## 绘制折线图
    values[:,0],values[:,10], 'c-',## 绘制折线图
    values[:,0],values[:,11], 'm-.',## 绘制折线图
    values[:,0],values[:,12], 'k--',## 绘制折线图
    values[:,0],values[:,13], 'r:',## 绘制折线图
    values[:,0],values[:,14], 'b-')## 绘制折线图
plt.legend(['农业','工业','建筑','批发','交通','餐饮','金融','房地产','其他'])
plt.xlabel('年份')## 添加横轴标签
plt.ylabel('生产总值(亿元)')## 添加纵轴标签
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)
plt.savefig(r'D:\Project\Jupyter_Project\Test1\result\2000-2017年季度各行业生产总值折线子图.png')
plt.show()

四、实验结果

(一)2000-2017年各季度生产总值折线图

2000年-2017年,每一年第一季度的生产总值总体上呈现周期性持续上升趋势。

(二)2000-2017年各产业季度生产总值折线图

2000年-2017年,第一产业各季度总产值从2000-2017年各季度有小幅上升,且波动幅度逐渐增加;第二产业各季度总产值波动上升,后面总体变化幅度变大,第三产业呈持续上升趋势,且速率不断增加。

(三)2000-2017年各产业各行业季度生产总值折线图

2000年-2017年,工业的生产总值增长最大,其他行业次之,农业呈折线波动变化,但总体起伏不大,建筑,批发,餐饮,金融,房地产产业变化均不大,餐饮业的生产总值最低。

  • 37
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一个可视化实验完整代码。 一、实验目的和要求 1、 使用API函数编制包含各种资源的Windows应用程序; 2、 实现Windows应用程序对键盘与鼠标的响应。 二、实验内容 : 1、问题描述: 创建一个菜单,其中有三个菜单项,分别为“文件”、“计算”和“帮助”,其中,“文件”菜单项包含“打开”、“保存”、“画图”、“退出”等菜单选项;“计算”菜单包含“总和”、“方差”、“均方根”等菜单选项;“帮助”菜单项包含“计算总和帮助”、“计算方差帮助”和“计算均方根帮助”以及“关于”等项 。 若单击“画图”菜单项,则绘出P103图形。 若在用户区内按下鼠标左键,则动态创建一个包括“删除计算总和”、“添加计算平均值”和“修改计算均方差”三个菜单项的弹出式菜单,由此菜单控制“计算”菜单中菜单项删除、添加与修改。(要求新的弹出式菜单开始时不可用,按下右键后变为可用。) 单击“修改计算均方差”菜单项后,“计算”菜单下的“计算均方差”项改为“线性拟合”,单击“添加计算平均值”菜单项后,“计算”菜单中添加上了“计算平均值”菜单项 。 将光标设定为自己名字中的某个字、图标设定为自己名字中的另一个字。 2、应用程序中所用到的资源、消息,简介主要函数的功能; 3、程序实现 4、操作结果

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

juechen333

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值