2.1 Matplotlib快速入门

Matplotlib是一个Python 2D绘图库,可以生成各种格式和跨平台的交互式环境的数据。Matplotlib可用于Python脚本、Python、IPython、Web应用程序服务器和多个图形用户界面工具包。

本文主要内容:

一、Matplotlib简介

对于简单的绘图,pyplot模块提供了类似MATLAB的接口,对于高级开发者,您可以通过面向对象的界面或MATLAB用户熟悉的一组函数完全控制线型,字体属性,轴属性等。

一张图片胜过千言万语,使用Python的matplotlib库创建一个高质量的图形只需要很少的代码。

Matplotlib通常用于可视化分析或计算,所以在学习用Python绘制前就需要学习NumPy,它用于科学计算的Python库。当您使用此数据可视化库时,您会发现NumPy非常方便。当然,数组不是你传递给绘图函数的唯一东西,例如,还有可能传递Python列表。

如果您还没有安装matplotlib,请使用如下命令进行安装:

pip install matplotlib

Matplotlib是让复杂的事情变得更简单,您只需几行代码即可生成折线图、条形图、柱状图、散点图等。下面我们将来逐一实现介绍这些样本图。

二、绘制折线图

使用plt库的plot()函数即可实现绘制折线图的功能,将X轴的值与Y轴的值分别作为参数传入,使用方法及其简单。但是绘制好图表后需要调用plt的show()函数进行显示。

代码如下所示:

# 导入matplotlib库
from matplotlib import pyplot as plt

# X轴值
x = [5, 2, 9, 4, 7]
# Y轴值
y = [10, 5, 8, 4, 2]

# 绘图函数
plt.plot(x, y)

# 显示图
plt.show()

运行后,图表如下:

代码执行步骤:

三、绘制条形图

使用plt库的bar()函数即可实现绘制条形图的功能,同样将X轴的值与Y轴的值分别作为参数传入,使用方法一样简单。示例代码如下:

# 导入matplotlib库
from matplotlib import pyplot as plt

# X轴值
x = [5, 2, 9, 4, 7]
# Y轴值
y = [10, 5, 8, 4, 2]

# 绘制条形图
plt.bar(x, y)

# 显示图
plt.show()

运行后,图表如下:

四、绘制柱状图

绘制柱状图的函数是hist(),但是参数只需要传入Y轴的值,示例代码如下:

# 导入matplotlib库
from matplotlib import pyplot as plt

# Y轴值
y = [10, 5, 8, 4, 2]

# 绘制条形图
plt.hist(y)

# 显示图
plt.show()

运行后,图表如下:

五、绘制散点图

散点图,就是显示各个点,不需要其他任何的连接,使用的函数是scatter()。示例代码如下:

# 导入matplotlib库
from matplotlib import pyplot as plt

# X轴值
x = [5, 2, 9, 4, 7]
# Y轴值
y = [10, 5, 8, 4, 2]

# 绘制散点图
plt.scatter(x, y)

# 显示图
plt.show()

运行后,图表如下:

六、绘制饼图

绘制饼图的函数是pie(),需要传入每个各个部分的占比。代码如下:

import matplotlib.pyplot as plt

# 每个元素占有的部分
slices = [3, 7, 8, 6]

# 绘制饼图
plt.pie(slices)

# 显示绘图
plt.show()

运行后效果如下:

七、绘制给定方程的曲线

# 导入库
import matplotlib.pyplot as plt
import numpy as np

# 设置X轴的坐标
x = np.arange(0, 2*np.pi, 0.1)
# 设置Y轴相应的坐标
y = np.sin(x)

# 绘图
plt.plot(x, y)

# 显示图
plt.show()

运行后效果如下:

在这里,我们使用NumPy,它是python中的通用数组处理包。

八、总结

通过本章节的学习,我们对Matplotlib库的pyplot模块的基本绘制功能有了一定的了解,熟悉了各种图形的函数,下面我们再来更深入的探讨更多的语法。

若有问题,欢迎联系作者(微信:lixu1770105)。