第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 建立画布和坐标系
import matplotlib. pyplot as plt
% matplotlib inline
plt. rcParams[ "font.sans-serif" ] = "SimHei"
plt. rcParams[ "axes.unicode_minus" ] = False
% 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 )
plt. subplot2grid( ( 2 , 2 ) , ( 0 , 0 ) )
plt. plot( x, y)
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 )
plt. subplot( 2 , 2 , 1 )
plt. plot( x, y)
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 )
axes[ 0 , 0 ] . plot( x, y)
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)
输出结果