数据挖掘实验一国民生产总值构成分布可视化

数据挖掘实验一

Matplotlib数据可视化

1. 任务1
在这里插入图片描述
实验代码(python):

import numpy as np
import matplotlib.pyplot as plt
data = np.load('国民经济核算季度数据.npz',allow_pickle=True)
name = data['columns']  # 提取其中的columns数组,视为数据的标签
values = data['values']  # 提取其中的values数组,数据的存在位置
plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示
plt.rcParams['axes.unicode_minus'] = False
label1 = ['第一产业','第二产业','第三产业']  # 刻度标签1
label2 = ['农业','工业','建筑','批发','交通',
        '餐饮','金融','房地产','其他']  # 刻度标签2
p = plt.figure(figsize=(12,12))
p.subplots_adjust(hspace=0.5)  # increase vertical space between subplots
# 子图1
ax1 = p.add_subplot(2,2,1)
plt.bar(range(3),values[0,3:6],width = 0.5)  # 绘制散点图
plt.xlabel('产业')  # 添加横轴标签
plt.ylabel('生产总值(亿元)')  # 添加y轴名称
plt.xticks(range(3),label1)
plt.title('2000年第一季度国民生产总值产业构成分布直方图')

# 子图2
ax2 = p.add_subplot(2,2,2)
plt.bar(range(3),values[-1,3:6],width = 0.5)  # 绘制散点图
plt.xlabel('产业')  # 添加横轴标签
plt.ylabel('生产总值(亿元)')  # 添加y轴名称
plt.xticks(range(3),label1)
plt.title('2017年第一季度国民生产总值产业构成分布直方图')

# 子图3
ax3 = p.add_subplot(2,2,3)

plt.bar(range(9),values[0,6:],width = 0.5)  # 绘制散点图
plt.xlabel('行业')  # 添加横轴标签
plt.ylabel('生产总值(亿元)')  # 添加y轴名称
plt.xticks(range(9),label2)
plt.title('2000年第一季度国民生产总值行业构成分布直方图')  # 添加图表标题

# 子图4
ax4 = p.add_subplot(2,2,4)
plt.bar(range(9),values[-1,6:],width = 0.5)  # 绘制散点图
plt.xlabel('行业')  # 添加横轴标签
plt.ylabel('生产总值(亿元)')  # 添加y轴名称
plt.xticks(range(9),label2)
plt.title('2017年第一季度国民生产总值行业构成分布直方图')  # 添加图表标题

# 保存并显示图形
plt.savefig('./国民生产总值构成分布直方图.png')

实验结果:
在这里插入图片描述
2. 任务2
在这里插入图片描述
实验代码(python):

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = 'SimHei'  # 汉字字体,优先使用楷体,如果找不到楷体,则使用黑体
plt.rcParams['axes.unicode_minus'] = False  # 这两行需要手动设置

data = np.load('国民经济核算季度数据.npz', allow_pickle=True)
name = data['columns']
values = data['values']
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))
# 子图1
ax1 = p.add_subplot(2, 2, 1)
plt.pie(values[0, 3:6], explode=explode1, labels=label1, autopct='%1.1f%%')
plt.title('2000年第一季度国民生产总值产业构成分布饼图')
# 子图2
ax2 = p.add_subplot(2, 2, 2)
plt.pie(values[-1, 3:6], explode=explode1, labels=label1, autopct='%1.1f%%')
plt.title('2017年第一季度国民生产总值产业构成分布饼图')
# 子图3
ax3 = p.add_subplot(2, 2, 3)
plt.pie(values[0, 6:], explode=explode2, labels=label2, autopct='%1.1f%%')
plt.title('2000年第一季度国民生产总值产业构成分布饼图')
# 子图4
ax4 = p.add_subplot(2, 2, 4)
plt.pie(values[-1, 6:], explode=explode2, labels=label2, autopct='%1.1f%%')
plt.title('2017年第一季度国民生产总值产业构成分布饼图')
#保存并显示图形
plt.savefig('国民生产总值产业构成分布饼图.png')

实验结果:
在这里插入图片描述

3. 任务3
在这里插入图片描述
实验代码(python):

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = 'SimHei'  # 汉字字体,优先使用楷体,如果找不到楷体,则使用黑体
plt.rcParams['axes.unicode_minus'] = False  # 这两行需要手动设置


data = np.load('国民经济核算季度数据.npz', allow_pickle=True)
name = data['columns']
values = data['values']

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))

# 子图1
ax1 = p.add_subplot(2, 1, 1)
plt.boxplot(gdp1, notch=True, labels=label1, meanline=True)
plt.title('2000-2017年各产业国民生产总值箱线图')
plt.ylabel('生产总值(亿元)')
# 子图2
ax2 = p.add_subplot(2, 1, 2)
plt.boxplot(gdp2, notch=True, labels=label2, meanline=True)
plt.title('2000-2017年各产业国民生产总值箱线图')
plt.xlabel('行业')
plt.ylabel('生产总值(亿元)')
plt.savefig('2000-2017年各产业过敏生产总值箱线图.png')
plt.show()

实验结果:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

黎明的前夜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值