Matplotlib 教程 之 Matplotlib 绘制多图 3

简介: `subplot()` 需要手动指定位置,而 `subplots()` 可一次性生成多个子图,通过 `ax` 对象进行调用。`subplots()` 方法支持多种参数,如设置行列数 (`nrows`, `ncols`)、共享轴 (`sharex`, `sharey`) 等。示例展示了不同场景下的子图绘制方法,包括共享轴、极坐标图等。

Matplotlib 教程 之 Matplotlib 绘制多图 3

Matplotlib 绘制多图

我们可以使用 pyplot 中的 subplot() 和 subplots() 方法来绘制多个子图。

subplot() 方法在绘图时需要指定位置,subplots() 方法可以一次生成多个,在调用时只需要调用生成对象的 ax 即可。

subplot
subplot(nrows, ncols, index, kwargs)
subplot(pos,
kwargs)
subplot(**kwargs)
subplot(ax)

subplots()

subplots() 方法语法格式如下:

matplotlib.pyplot.subplots(nrows=1, ncols=1, , sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)
参数说明:
nrows:默认为 1,设置图表的行数。
ncols:默认为 1,设置图表的列数。
sharex、sharey:设置 x、y 轴是否共享属性,默认为 false,可设置为 'none'、'all'、'row' 或 'col'。 False 或 none 每个子图的 x 轴或 y 轴都是独立的,True 或 'all':所有子图共享 x 轴或 y 轴,'row' 设置每个子图行共享一个 x 轴或 y 轴,'col':设置每个子图列共享一个 x 轴或 y 轴。
squeeze:布尔值,默认为 True,表示额外的维度从返回的 Axes(轴)对象中挤出,对于 N
1 或 1N 个子图,返回一个 1 维数组,对于 NM,N>1 和 M>1 返回一个 2 维数组。如果设置为 False,则不进行挤压操作,返回一个元素为 Axes 实例的2维数组,即使它最终是1x1。
subplot_kw:可选,字典类型。把字典的关键字传递给 add_subplot() 来创建每个子图。
gridspec_kw:可选,字典类型。把字典的关键字传递给 GridSpec 构造函数创建子图放在网格里(grid)。
**fig_kw:把详细的关键字参数传给 figure() 函数。

实例

import matplotlib.pyplot as plt
import numpy as np

创建一些测试数据 -- 图1

x = np.linspace(0, 2np.pi, 400)
y = np.sin(x*
2)

创建一个画像和子图 -- 图2

fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Simple plot')

创建两个子图 -- 图3

f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
ax1.plot(x, y)
ax1.set_title('Sharing Y axis')
ax2.scatter(x, y)

创建四个子图 -- 图4

fig, axs = plt.subplots(2, 2, subplot_kw=dict(projection="polar"))
axs[0, 0].plot(x, y)
axs[1, 1].scatter(x, y)

共享 x 轴

plt.subplots(2, 2, sharex='col')

共享 y 轴

plt.subplots(2, 2, sharey='row')

共享 x 轴和 y 轴

plt.subplots(2, 2, sharex='all', sharey='all')

这个也是共享 x 轴和 y 轴

plt.subplots(2, 2, sharex=True, sharey=True)

创建标识为 10 的图,已经存在的则删除

fig, ax = plt.subplots(num=10, clear=True)

plt.show()

目录
相关文章
|
1月前
|
数据可视化 Python
Matplotlib 教程 之 Seaborn 教程 10
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专注于统计图形的绘制。它提供了高级接口和美观的默认主题,简化了复杂图形的生成过程。Seaborn 支持多种图表类型,如散点图、折线图、柱状图、热图等,并特别强调视觉效果。例如,使用 `sns.violinplot()` 可以轻松绘制展示数据分布的小提琴图。
30 1
|
1月前
|
数据可视化 数据挖掘 Python
Matplotlib 教程 之 Seaborn 教程 8
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专注于统计图形的绘制。它提供了简洁的高级接口和美观的默认样式,支持多种图表类型,如散点图、折线图、柱状图、热图等,特别适合于数据分析和展示。例如,使用 `sns.boxplot()` 可以轻松绘制箱线图,展示数据的分布情况。
35 3
|
1月前
|
数据可视化 Python
Matplotlib 教程 之 Seaborn 教程 9
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专注于统计图形的绘制。它提供了高级接口和美观的默认主题,简化了复杂图形的生成过程。本文介绍了 Seaborn 的主要功能和绘图函数,包括热图 `sns.heatmap()` 的使用方法和示例代码。
19 1
|
1月前
|
数据可视化 Python
Matplotlib 教程 之 Seaborn 教程 2
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专注于统计图形的绘制,提供高级接口和美观的默认主题,支持散点图、折线图等多种图表类型,安装简便,可通过 `pip install seaborn` 完成。Seaborn 设计注重美观与易用性,内置多种主题如 darkgrid、whitegrid 等,便于用户快速生成高质量的统计图表。
18 3
|
1月前
|
Python
Matplotlib 教程 之 Matplotlib imread() 方法 4
Matplotlib 的 `imread()` 方法用于从文件中读取图像数据,返回一个包含图像信息的 numpy 数组。该方法支持灰度和彩色图像,可通过调整数组元素来修改图像颜色。示例中展示了如何将图像中的绿色和蓝色通道置零,从而显示红色图像。
16 1
|
1月前
|
Python
Matplotlib 教程 之 Matplotlib imsave() 方法 2
Matplotlib 教程 之 Matplotlib imsave() 方法 2
26 1
|
1月前
|
机器学习/深度学习 定位技术 Python
Matplotlib 教程 之 Matplotlib imshow() 方法 6
Matplotlib `imshow()` 方法教程:详解如何使用 `imshow()` 函数显示二维图像,包括灰度图、彩色图及不同插值方法的应用示例。通过调整参数如颜色映射(cmap)、插值方法(interpolation)等,实现图像的不同视觉效果。
26 2
|
1月前
|
定位技术 Python
Matplotlib 教程 之 Matplotlib imshow() 方法 1
《Matplotlib imshow() 方法教程》:本文介绍 Matplotlib 库中的 imshow() 函数,该函数常用于绘制二维灰度或彩色图像,也可用于展示矩阵、热力图等。文中详细解释了其语法及参数,例如颜色映射(cmap)、归一化(norm)等,并通过实例演示了如何使用 imshow() 显示灰度图像。
24 2
|
1月前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 直方图 2
使用 Matplotlib 的 `hist()` 方法绘制直方图,通过实例展示了如何比较多组数据的分布。`hist()` 方法属于 Matplotlib 的 pyplot 子库,能有效展示数据分布特性,如中心趋势和偏态。示例中通过生成三组正态分布的随机数据并设置参数(如 bins、alpha 和 label),实现了可视化比较。
30 3
|
1月前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 饼图 5
使用 Matplotlib 的 `pie()` 方法绘制饼图,通过参数设置(如颜色、标签和比例等),轻松展示各类别占比。示例代码展示了如何创建一个具有突出部分的彩色饼图并显示百分比。`pie()` 方法支持多种参数定制,包括阴影、旋转角度及文本属性等。
42 3

热门文章

最新文章

下一篇
无影云桌面