数据可视化模块Matplotlib的使用以及折线图
1、Matplotlib是什么?
Matplotlib是一个Python的2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互环境生成具有出版品质的图形。
Matplotlib试图让简单的事情变得更简单,让无法实现的事情变得可能实现,是Python中最常用的可视化工具之一,
它的功能非常强大,可以调用函数轻松的绘制出数据分析中的各种图形,比如折线图、条形图、柱状图、散点图、
饼图等。
2、常见图形种类及意义:
选择最重要,一个选择和另一个选择的结果可能是天壤之别,在我们选择将数据可视化之前,需要选择合适的图形来
可视化数据,从而让我们快速的发现数据的特点!
各种可视化图形的定义以及特点:
折线图:
定义:以折线的上升以及下降来表示统计数量的增减变化的统计图
特点:能够显示数据的变化趋势,反应数据的变化情况
散点图:
定义:用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或者是总结坐
标点的分布模式。
特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)。
柱状图:
定义:排列在工作表中的列或者行中的数据可以绘制在柱状图中
特点:绘制离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别(统计/对比)
直方图:
定义:由一系列高度不等的纵向条纹或线段表示数据的分布情况,一般用横轴表示数据范围,纵轴表示分布
情况
特点:绘制连续性的数据,展示一组或者多组数据的分布情况(统计)
饼图:
定义:用于表示不同分类的占比情况,通过弧度大小来对比各种分类
特点:分类数据的占比情况(占比)
3、认识Matplotlib图像结构
我们可以将一张Matplotlib图像分成三层结构:
1. 第一层是底层的容器层,主要包括Canvas、Figure、Axes;
容器层主要由Canvas、Figure、Axes组成:
Canvas是位于最底层的系统层,在绘图的过程中充当画板的角色,即放置画布(Figure)的工具,
用户一般接触不到。
Figure是Canvas上方的第一层,也是需要用户来操作的应用层的第一层,在绘图的过程中充当
画布的角色,我们可以设置画布的大小和分辨率等。
Axes是应用层的第二层,在绘图的过程中相当于画布上的绘图区的角色。一个Figure对象可以
包含多个Axes对象,每个Axes都是一个独立的坐标系,绘图过程中的所有图像都是基于坐标系绘制的。
2. 第二层是辅助显示层,主要包括axis、spines、grid、legend、title等;
辅助显示层为Axes(绘图区)内的除了根据数据绘制出的图像以外的内容,主要包括Axes外观(facecolor)、
边框线(spines)、坐标轴(axis)、坐标轴名称(axis label)、坐标轴刻度(tick)、坐标轴刻度标签
(tick label)、网格线(grid)、图例(legend)、标题(title)等内容
该层的设置可使图像显示更加直观更加容易被用户理解,但又不会对图像产生实质的影响
3. 第三层为图像层,即通过plot、scatter等方法绘制的图像。
图像层指Axes内通过plot、scatter、bar、histogram、pie等函数根据数据绘制出的图像。
总结得出:
Canvas(画板)位于最底层,用户一般接触不到
Figure(画布)建立在Canvas之上
Axes(绘图区)建立在Figure之上
坐标轴(axis)、图例(legend)等辅助显示层以及图像层都是建立在Axes之上
4、折线图初体验
跟Pandas的使用一样,使用matplotlib之前,我们需要将它的模块,因为我们是使用Matplotlib的
pyplot模块进行图形绘制,所以我们要导入pyplot模块。
from matplotlib import pyplot as plt
我们从matplotlib包中导入了pyplot模块并将其改名为plt,编写代码时,直接使用plt调用方法即可。
示例:
from matplotlib import pyplot as plt
x = range(1,8)
y = [17, 17, 18, 15, 11, 11, 13]
plt.plot(x,y)
plt.show()
代码含义:
绘制二维图形需要确定x、y值:图形中点的值(x, y值的个数要相同)
plt.plot(x,y):根据传过来的x,y值进行绘制折线图
plt.show():显示绘制的图形
从图片上可以看出,X轴和Y轴的刻度都是默认生成的,这个是可以自己定义的,后面的课程我们会具体讲解。还
有一个问题就是折线的颜色、折点以及宽度该怎么设置呢?
示例:
%matplotlib inline
from matplotlib import pyplot as plt
x = range(1,8)
y = [17, 17, 18, 15, 11, 11, 13]
plt.plot(x, y, color='green',alpha=0.5,linestyle='-',linewidth=3,marker='o')
plt.show()
代码含义:
color='green':设置线的颜色
alpha=0.5:设置线的透明度,让其拥有似漏非漏的感觉
linestyle='—':设置线的样式,- 实线(solid)、-- 短线(dashed)、-. 短点相间线(dashdot)、:虚点线(dotted)
linewidth=3:设置线的宽度
marker='o':设置折点的样式,默认是什么都没有,折点有没有其他的样式呢?当然,向下看

5、标题设置
示例:
%matplotlib inline
from matplotlib import pyplot as plt
x = range(1,8)
y = [17, 17, 18, 15, 11, 11, 13]
plt.plot(x, y, color='green',alpha=0.5,linestyle='-',linewidth=3,marker='o')
plt.xlabel('Time')
plt.ylabel("Temp")
plt.title('Title')
plt.show()
通过以上代码发现可以用plt.xlabel()、plt.ylabel()、plt.title()三个函数分别对折线图的横纵坐标所代表
的意义标注清楚以及对标题及进行设置