第三章 Matplotlib 数据可视化基础

本章详细介绍了Matplotlib的基本绘图流程,包括创建画布、设置动态rc参数、绘制散点图、折线图、直方图、饼图和箱线图。通过实际任务,如分析各产业与行业国民生产总值的关系,以及人口数据的特征分布,深入理解数据可视化方法。
摘要由CSDN通过智能技术生成

第三章 Matplotlib 数据可视化基础

3.1掌握绘图基础语法与常用参数

3.1.1掌握pypot基础语法

大部分的pyplot图形绘制都遵循一个流程,使用这个流程可以完成大部分图形的绘制。pyplot基本绘图流程主要分为3个部分,如下所示。

  1. 创建画布与创建子图
  2. 添加画布内容
  3. 保存与显示图片
#pyplot中的基础绘图语法
import numpy as np
import matplotlib.pyplot as plt
# %matlpotlib inline
data=np.arange(0,1.0,0.01)
plt.title('lines')#添加标题
plt.xlabel('x')#添加x轴的名称
plt.ylabel('y')#添加y轴的名称
plt.xlim((0,1))#确定x轴的范围
plt.ylim((0,1))#确定y轴的范围
plt.xticks([0,0.2,0.4,0.6,0.8,1])#规定x轴刻度
plt.yticks([0,0.2,0.4,0.6,0.8,1])#规定y轴刻度
plt.plot(data,data**2)#添加y=x^2曲线
plt.plot(data,data**4)#添加y=x^4曲线
plt.legend(['y=x^2','y=x^4'])
plt.savefig('./tmp/y=x^2.png')
plt.show()

运行结果

#包含子图绘制的基础语法
import numpy as np
rad=np.arange(0,np.pi*2,0.01)
#第一幅子图
pl=plt.figure(figsize=(8,6),dpi=80)#确定画布的大小
ax1=pl.add_subplot(2,1,1)#创建一个2行1列的子图,并开始绘制第一幅
plt.title('lines')#添加标题
plt.xlabel('x')#添加x轴的名称
plt.ylabel('y')#添加y轴的名称
plt.xlim((0,1))#确定x轴的范围
plt.ylim((0,1))#确定y轴的范围
plt.xticks([0,0.2,0.4,0.6,0.8,1])#规定x轴的刻度
plt.yticks([0,0.2,0.4,0.6,0.8,1])#规定y轴的刻度
plt.plot(rad,rad**2)#添加y=x^2曲线
plt.plot(rad,rad**4)#添加y=x^4曲线
plt.legend(['y=x^2','y=x^4'])
#第二幅子图
ax2=pl.add_subplot(2,1,2)
plt.title('sin/cos')#添加标题
plt.xlabel('rad')#添加x轴的名称
plt.ylabel('value')#添加y轴的名称
plt.xlim((0,np.pi*2))#确定x轴的范围
plt.ylim((-1,1))#确定y轴的范围
plt.xticks([0,np.pi/2,np.pi,np.pi*1.5,np.pi*2])#规定x轴的刻度
plt.yticks([-1,-0.5,0,0.5,1])#规定y轴的刻度
plt.plot(rad,np.sin(rad))#添加y=x^2曲线
plt.plot(rad,np.cos(rad))#添加y=x^4曲线
plt.legend(['sin','cos'])
plt.savefig('./tmp/sincos.png')
plt.show()

运行结果

3.1.2设置pyplot的动态rc参数

#调节线条的rc参数
#原图
x=np.linspace(0,4*np.pi)#生成x轴的数据
y=np.sin(x)#生成y轴数据
plt.plot(x,y,label="$sin(x)$")#绘制sin曲线图
plt.title('sin')
plt.savefig('./tmp/默认sin曲线.png')
plt.show()

在这里插入图片描述

#修改rc参数后的图
plt.rcParams['lines.linestyle']='-.'#设置线条样式
plt.rcParams['lines.linewidth']=3 #设置线条宽度
plt.plot(x,y,label="$sin(x)$")#绘制三角函数
plt.title('sin')
plt.savefig('./tmp/修改rc参数后sin曲线.png')
plt.show()

在这里插入图片描述

#调节字体的rc参数
#无法显示中文标题
plt.plot(x,y,label="$sin(x)$")#绘制三角函数
plt.title('sin曲线')
plt.savefig('./tmp/无法显示中文标题sin曲线.png')
plt.show()

在这里插入图片描述

#设置rc参数显示中文标题
#设置字体为SimHei显示中文
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus']=False#设置正常显示符合
plt.plot(x,y,label="$sin(x)$")#绘制三角函数
plt.title('sin曲线')
plt.savefig('./tmp/显示中文标题sin曲线.png')
plt.show()

在这里插入图片描述

任务3.2 分析特征间的关系

3.2.1绘制散点图

#绘制2000-2017年各季度国民生产总值散点图
import numpy as np
# %matplotlib inline(不加这行,图片不显示)
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']='SimHei'#设置中文显示
plt.rcParams['axes.unicode_minus']=False #设置正常显示符合
data=np.load('C:/Users/ljy15/Python数据分析与应用/Python数据分析与应用数据/第3章/任务程序/data/国民经济核算季度数据.npz',allow_pickle=True)
name=data['columns']#提取其中的columns数组,视为数据的标签
values=data['values']#提取其中的values数组,视为数据的存在位置
plt.figure(figsize=(8,7))#设置画布
plt.scatter(values[:,0],values[:,2],marker='o')#绘制散点图
plt.xlabel('年份')
plt.ylabel('生产总值(亿元)')
plt.ylim((0,225000))#确定y轴的范围
plt.xticks(range(0,70,4),values[range(0,70,4),1],rotation=45)#规定x轴的刻度
plt.title('2000-2017年度各季度国民生产总值散点图')#添加图表标题
plt.savefig('./tmp/2000-2017年度各季度国民生产总值散点图.png')
plt.show()

在这里插入图片描述

#绘制2000-2017年间各产业各季度国民生产总值的散点图
plt.figure(figsize=(8,7))#设置画布
#绘制散点图1
plt.scatter(values[:,0],values[:,3],marker='o',c='red')
#绘制散点图2
plt.scatter(values[:,0],values[:,4],marker='D',c='blue')
#绘制散点图3
plt.scatter(values[:,0],values
  • 9
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值