数据可视化|实验二 分析特征间关系

使用 scatter 函数绘制 2000-2017 年各季度的国民生产总值散点图

import matplotlib.pyplot as plt
import numpy as np
data=np.load('./国民经济核算季度数据.npz',allow_pickle=True)
name=data['columns']
values=data['values']
plt.rcParams["font.family"]="SimHei"
plt.rcParams['font.sans-serif']="SimHei"
plt.rcParams['font.serif']=['SimHei']

plt.rcParams["axes.unicode_minus"]=False

plt.figure(figsize = (8, 7))
plt.scatter(values[:,0], values[:,2], marker = 'o')
plt.xlabel(u"年份")
plt.ylabel(u'生产总值(亿元)')
plt.xticks(range(0,70,4), values[range(0, 70, 4), 1], rotation = 45)
plt.title(u'2000-2017 年季度生产总值散点图 ')
plt.savefig('./tmp/2000-2017 年季度生产总值散点图.png')
plt.show()

在这里插入图片描述

绘制 2000-2017 年第一产业、第二产业、第三产业各季度的国民生产总值 散点图

plt.Figure(dpi = 80, figsize = (8, 7))
plt.rcParams['font.sans-serif'] = 'SimHei'
y1=values[:,3]
plt.scatter(range(len(y1)), y1)
plt.xticks(range(len(y1)), values[: : 4, 1], rotation = 45)
y2 = values[: , 4]
plt.scatter(range(len(y2)), y2)
plt.xticks(range(len(y2)), values[: : 4, 1], rotation = 45)
y3=values[:,5]
plt.scatter(range(len(y3)), y3)
plt.xticks(range(0, 70, 4), values[range(0, 70, 4), 1], rotation = 45)
plt.title('2010-2017 各产业季度生产总值 ')
plt.legend([' 第一产业 ', ' 第二产业 ', ' 第三产业 '])
plt.savefig('./tmp/三种产业散点图.png')
plt.show()

在这里插入图片描述

通过图中点的颜色及分布,可以看出第一产业增长平缓,第二产业每年会按季度呈现周期性波动但逐年递增,第三产业增长呈现指数型。总体来看我国近 17 年的各个产业都在持续增长中,并且第二第三产业增长幅度非常大, 17 年间增长了 400% 以上。

使用 plot 函数绘制 2000-2017 年各产业第一季度季度生产总值折线图

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
plt.figure(dpi = 80, figsize = (8, 8))
y1 = values[: : 4, 3]
y2 = values[: : 4, 4]
y3 = values[: : 4, 5]
plt.plot(range(len(y1)), y1, linestyle = '-.')
plt.plot(range(len(y2)), y2, linestyle = '--')
plt.plot(range(len(y3)), y3)
plt.xticks(range(len(y3)), values[: : 4, 1], rotation = 45)
plt.title('2000-2017 各产业第一季度折线图 ')
plt.legend([' 第一产业 ', ' 第二产业 ', ' 第三产业 '])
plt.savefig('./tmp/ 各产业第一季度折线图 .png')
plt.show()

在这里插入图片描述

绘制 2000-2017 年各产业各季度生产总值点线图

plot 函数可以一次接收“多组”参数,同时绘制多条折线图。向 plot 函数传递绘制第一个图形的参数,用逗号分隔后继续传递绘制第二个图形的参数即可。

plt.figure(figsize = (8, 7))
plt.plot(values[: , 0], values[: , 3], 'b-',
      values[: , 0], values[: , 4], 'y-.',
      values[: , 0], values[: , 5], 'g--')
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('./tmp/2000-2017 年季度各产业生产总值折线图.png')
plt.show()

在这里插入图片描述

通过 图形中线条的颜色与波动,可以看出它比散点图更加直接有效地展示各产业的季度性波动与整体增长趋势。此外,使用 marker 参数可以绘制点线图,一定情况下能够使得图形更加丰富。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值