学习笔记之第十三章 数据可视化(十三)

本文介绍了数据可视化的基础概念、基本流程及图表元素,并详细讲解了如何使用Python中的matplotlib库来建立画布和坐标系,实现不同类型的图表绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第13章 数据可视化

13.1 数据可视化是什么

13.2 数据可视化的基本流程

13.2.1 整理数据

  • 数据可视化的基础还是数据,你要将数据图表化,首先要整理数据,明确要把哪些数据图表化。

13.2.2 明确目的

13.2.3 寻找合适的表现形式

13.3 图表的基本组成元素

  • 画布:画布就是字面意思,你首先需要找到一块“布”,即绘图界面,然后在这块“布”上绘制图表。
  • 坐标系:画布是图表的最大概念,在一块画布上可以建立多个坐标系,坐标系又可以分为直角坐标系、球坐标系和极坐标系三种,其中直角坐标系最常用。
  • 坐标轴:坐标轴是在坐标系中的概念,主要有x轴和y轴(一般简单的可视化均为二维),一组x/y值用来唯一确定坐标系上的一个点。
  • 坐标轴标题:坐标轴标题就是x轴和y轴的名称
  • 图表标题:图表标题是用来说明整个图表核心主题的
  • 数据标签:数据标签用于展示图表中的数值
  • 数据表:数据表在图表下方,它以表格的形式将图表中坐标轴的值展示出来。
  • 网格线:网格线是坐标轴的延伸,通过网格线可以更加清晰地看到每一点大概在什么位置,值大概是多少。
  • 图例:图例一般位于图表的下方或右方,用来说明不同的符号或颜色所代表的不同内容与指标,有助于认清图。
  • 误差线:误差线主要用来显示坐标轴上每个点的不确定程度,一般用标准差表示,即一个点的误差为该点的实际值加减标准差。

13.4 Excel与Python可视化

13.5 建立画布和坐标系

#导入matplotlib库中的pyplot并起别名为plt
import matplotlib.pyplot as plt

#让图表直接在jupyter notebook中展示出来
%matplotlib inline

#解决中文乱码问题
plt.rcParams["font.sans-serif"] = "SimHei"

#解决负号无法正常显示的问题
plt.rcParams["axes.unicode_minus"] = False

#在默认设置下 matplotlib 做出来的图表不是很清晰,
#个时候可以将图表设置成矢量图格式显示,这样看起来就会很清晰了
%config InlineBackend.figure_format = "svg"

#导入需要的库以后就可以正式开始建立画布了
fig = plt.figure()

fig = plt.figure(figsize = (8,6))

13.5.2 用add_subplot函数建立坐标系

  • 利用add_subplot函数建立坐标系时需要先有画布,再在画布上绘制坐标系。
fig = plt.figure()
ax1 = fig.add_subplot(2,2,1)
ax2 = fig.add_subplot(2,2,2)
ax3 = fig.add_subplot(2,2,3)
ax4 = fig.add_subplot(2,2,4)
  • 输出结果
    在这里插入图片描述

13.5.3 用plt.subplot2grid函数建立坐标系

  • 用plt.subplot2grid函数建立坐标系时不需要先建立画布,只需要导入plt库即可。导入plt库以后可以直接调用plt库的subplot2grid方法建立坐标系
plt.subplot2grid((2,2),(0,0))
  • 输出结果
    在这里插入图片描述
import numpy as np
x = np.arange(6)
y = np.arange(6)

#将图表的整个区域分成2行2列,且在(0,0)显示折线图
plt.subplot2grid((2,2),(0,0))
plt.plot(x,y)

#将图表的整个区域分成2行2列,且在(0,0)显示柱状图
plt.subplot2grid((2,2),(0,1))
plt.bar(x,y)
  • 输出结果
    在这里插入图片描述

13.5.4 用plt.subplot函数建立坐标系

  • 与plt.subplot2grid函数类似,plt.subplot也是plt库的一个函数,也表示将区域分成几份,并指明在哪一块区域上绘图,两者的区别只是表现形式不一样
import numpy as np
x = np.arange(6)
y = np.arange(6)

#将图表的整个区域分成2行2列,且在(0,0)显示折线图
plt.subplot(2,2,1)
plt.plot(x,y)

#将图表的整个区域分成2行2列,且在(0,0)显示柱状图
plt.subplot(2,2,4)
plt.bar(x,y)
  • 输出结果
    在这里插入图片描述

13.5.5 用plt.subplots函数建立坐标系

  • plt.subplots函数也是plt库的一个函数,它与subplot2grid函数和subplot函数的不同之处是,subplot2grid函数和subplot函数每次只返回一个坐标系,而subplots函数一次可以返回多个坐标系。
fig,axes = plt.subplots(2,2)
  • 输出结果
    在这里插入图片描述
import numpy as np
x = np.arange(6)
y = np.arange(6)

#在(0,0)坐标系中绘制折线图
axes[0,0].plot(x,y)

#在(1,1)坐标系中绘制柱状图
axes[1,1].bar(x,y)

13.5.6 几种创建坐标系方法的区别

  • 第一种创建坐标系的方法 add_subplot 属于对象式编程,所有的操作都是针对某个对象进行的,比如先建立一块画布,然后在这块画布上建立坐标系,进而在坐标系上绘图。
  • 而后三种建立坐标系的方法属于函数式编程,都是直接调用 plt 库里面的某个函数或者方法达到创建坐标系的目的。对象式编程的代码比较烦琐,但是便于理解;函数式编程虽然代码简洁,但是不利于新人掌握整体的绘图原理,所以建议大家刚开始的时候多使用对象式编程,当大家对整个绘图原理很熟悉时,再尝试使用函数式编程。
  • 这两种编程方式不仅体现在创建坐标系中,在接下来的一些操作中也会有涉及,有的时候两者会交叉使用,也就是在一段代码中既有函数式编程,也有对象式编程。

13.6 设置坐标轴

13.6.1 设置坐标轴的标题

x = [1,2,3,4,5,6,7,8,9]
y = [866,2335,5710,6482,6120,1605,3813,4228,4631]
plt.plot(x,y)
  • 输出结果
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值