Matplotlib库的使用—初相识

有关Python的进阶,数据可视化开篇!内容为关于Matplotlib库的使用。

之前入门阶段发过几篇练题篇,有人私信询问入口链接,在这里点击蓝色字即可进入

点击这里开始练题

关于Matplotlib的学习,资源为开源内容,通过Datawhale组队学习获取,发布内容为个人笔记

第一回:Matplotlib初相识

一、认识Matplotlib

Matplotlib是一个Python2D绘图库,能够以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形,用来绘制各种静态、动态、交互式的图表

可用于Python脚本,Python和IPython Shell、Jupyter notebook,Web应用程序服务器和各种图形用户界面工具包等。

二、一个最简单的绘图例子

Matplotlib的图像是画在figure(如Windows、jupyter窗体)上的,每一个figure又包含了一个或多个axes(一个可以指定坐标系的子区域)。最简单的创建figure以及axes的方式是通过pyplot.subplots命令,创建axes以后,可以使用Axes.plot回执最简易的折线图。

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np

fig, ax = plt.subplots()              #创建一个包含一个axes的figure
ax.plot([1, 2, 3, 4], [1, 4, 2, 3])      #绘制图像
plt.show()

Tick:在jupyter notebook中使用Matplotlib时会发现代码运行后会自动打印出类似这样一段话。

Matplotlib库的使用—初相识_第1张图片

 

这是因为matplotlib的绘图默认打印出最后一个对象。解决方法:

1> 在代码块最后加入一个分号

2> 在代码块最后加一句plt.show()

3> 在绘图时将绘图对象显式赋值给一个变量如将plt.plot([1,2,3,4])改成line=plt.plot([1,2,3,4])

运行:

Matplotlib库的使用—初相识_第2张图片

 三、Figure的组成

一个完整的Matplotlib图像通常会包括四个层级,也称容器。

Figure:顶层级,用来容纳所有绘图元素

Axes:Matplotlib宇宙的核心。容纳了大量元素用来构造一幅子图,一个Figure可以由一个或多个子图组成

Axis:axis的下属层级,用来处理所有和坐标轴。网格有关的元素

Tick:axis的下属层级,用来处理所有和刻度有关的元素

四、两种绘图接口

1.显式创建figure和axes

在上面调用绘图方法,也被称为OO模式(object-oriented style)

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2, 100)
fig, ax = plt.subplots()
ax.plot(x, x, label='linear')
ax.plot(x, x ** 2, label='quadratic')
ax.plot(x, x ** 3, label='cubic')
ax.set_xlabel('x label')
ax.set_ylabel('y label')
ax.set_title("Simple Plot")
ax.legend()
plt.show()

Matplotlib库的使用—初相识_第3张图片 

2.依赖pyplot自动创建figure和axes

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 2, 100)
plt.plot(x, x, label='linear')
plt.plot(x, x ** 2, label='quadratic')
plt.plot(x, x ** 3, label='cubic')
plt.xlabel('x label')
plt.ylabel('y label')
plt.title("Simple Plot")
plt.legend()
plt.show()

Matplotlib库的使用—初相识_第4张图片 

五、通用绘图模板

任何复杂的图表几乎都可以基于这个模板骨架填充内容而成

#step1
x = np.linspace(0,2,100)
y = x ** 2

#step2   设置绘图样式,这一模块的扩展参考第五章进一步学习,这一步不是必须的,样式也可以在绘制图像时进行设置
mpl.rc('line',linewidth = 4,linestyle = '-.')

#step3   定义布局,这一模块的扩展参考第三章进一步学习
fig,ax = plt.subplots()

#step4   绘制图像,这一模块的扩展参考第二章进一步学习
ax.plot(x,y,label = 'linear')

#step5   添加标签、文字、和图例,这一模块的扩展参考第四章进一步学习
ax.set_xlabel('x label')
ax.set_ylabel('y label')
ax.set_title("Simple Plot)
ax.legend()
plt.show()

 

进阶内容有困难的同学,建议先巩固入门基础,可以点击这里进行练习

你可能感兴趣的:(数据可视化,matplotlib,python,开发语言,numpy,jupter)