Matplotlib 简明教程
Matplotlib - Introduction
Matplotlib 是一个功能强大且广泛使用的 Python 绘图库,使我们能够创建各种静态、互动和出版质量的绘图和可视化。它广泛用于数据可视化任务,提供各种功能来创建绘图,如折线图、散点图、条形图、直方图、3D 绘图等等。Matplotlib 库提供灵活性和自定义选项来根据特定需求定制我们的绘图。
它是一个跨平台库,用于从数组中的数据创建 2D 绘图。Matplotlib 用 Python 编写,并使用 NumPy,这是 Python 的数值数学扩展。它提供了一个面向对象 API,该 API 有助于使用 Python GUI 工具包(如 PyQt、WxPythonotTkinter)将绘图嵌入到应用程序中。它可以在 Python 和 IPython Shell 中使用。Jupyter 笔记本和 Web 应用程序服务器也是如此。
Matplotlib 具有一个名为 Pylab 的过程化界面,该界面旨在类似于由 MathWorks 开发的专有编程语言 MATLAB。Matplotlib 结合 NumPy 可被视为 MATLAB 的开源等效项。
Matplotlib 最初由 John D. Hunter 于 2003 年编写。当前稳定版本是 2018 年 1 月发布的 2.2.0 版本。
使用 Matplotlib 最常见的途径是通过其 pyplot 模块。
以下是 Matplotlib 的关键组件和功能的深入概述 −
Axes/Subplot
图形中绘制数据的特定区域。图形可以包含多个轴或子绘图。以下是轴/子绘图的示例。
Example
import matplotlib.pyplot as plt
# Creating a 2x2 grid of subplots
fig, axes = plt.subplots(nrows=2, ncols=2)
# Accessing individual axes (subplots)
axes[0, 0].plot([1, 2, 3], [4, 5, 6]) # Plot in the first subplot (top-left)
axes[0, 1].scatter([1, 2, 3], [4, 5, 6]) # Second subplot (top-right)
axes[1, 0].bar([1, 2, 3], [4, 5, 6]) # Third subplot (bottom-left)
axes[1, 1].hist([1, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5]) # Fourth subplot (bottom-right)
plt.show()
Artist
艺术家是指构成绘图的各个组件或实体,如图形、轴、线、文本、块、形状(矩形或圆形)等。它们是用于创建可视化的构建模块,并按层次组织。
以下是类似于艺术家所有组件的绘图。
Example
import matplotlib.pyplot as plt
# Create a figure and an axis (subplot)
fig, ax = plt.subplots()
# Plot a line (artist)
line = ax.plot([1, 2, 3], [4, 5, 6], label='Line')[0]
# Modify line properties
line.set_color('red')
line.set_linewidth(2.5)
# Add labels and title (text artists)
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_title('Artist Plot')
plt.legend()
plt.show()
Key Features
-
Simple Plotting − Matplotlib 允许我们仅使用几行代码轻松创建基本绘图。
-
Customization − 我们可以通过调整颜色、线条样式、标记、标签、标题等来广泛地自定义绘图。
-
Multiple Plot Types − 它支持各种绘图类型,如折线图、散点图、条形图、直方图、饼图、3D 绘图等。
-
Publication Quality − Matplotlib 生成高质量的绘图,适用于出版物和演示文稿,并具有可自定义的 DPI 设置。
-
Support for LaTeX Typesetting − 我们可以在绘图中使用 LaTeX 来格式化文本和数学表达式。
Types of Plots
Matplotlib 支持以下提到的各种类型的绘图。每个绘图类型在库中都有自己独特的函数。
Name of the plot |
Definition |
Image |
Line plot |
折线图是一种通过直线线段连接数据点显示数据的图表。Matplotlib 库中的 plt.plot() 函数用于创建折线图。 |
|
Scatter plot |
散点图是一种通过在二维平面上显示标记来表示各个数据点的图表。plt.scatter() 函数用于绘制散点图。 |
|
Line plot |
折线图是一种通过直线线段连接数据点显示数据的图表。Matplotlib 库中的 plt.plot() 函数用于创建折线图。 |
|
Bar plot |
条形图或条形图使用矩形条来直观表示类别数据。plt.bar() 函数用于绘制条形图。 |
|
Pie plot |
饼图也称为圆形统计图。它是一种圆形统计图形,用于说明数值比例。它将一个圆形分割成扇形或切片来表示数据集中各个类别的相对大小或百分比。plt.pie() 函数用于绘制饼图。 |
上面提到的内容是 Matplotlib 库的基本图表。我们还可以借助 Matplotlib 对三维图表进行可视化。