Matplotlib 是一个功能强大的 Python 可视化库。使用 Jupyter Notebooks、DataLab 或其他兼容环境时,您可以使用 Matplotlib inline 将 Matplotlib 图直接显示在笔记本中,而无需额外的窗口。想了解 Matplotlib 的更多功能,请查看这篇关于使用 Matplotlib 库的教程。
Matplotlib Inline 有什么作用?
Matplotlib inline 是 Jupyter Notebooks 中的一个后端命令,用于将 Matplotlib 图像渲染在代码单元格正下方。这意味着当您执行生成 Matplotlib 图像的代码时,图像会内嵌显示在笔记本中,而不是出现在单独的窗口或输出单元中。
在笔记本中迭代更新图表时,内嵌渲染非常有用。由于图形直接出现在生成它的代码下方,您可以轻松看到代码更改如何影响结果。您还能在此过程中应用标准图表元素,如标题、坐标轴标签、图例或颜色编码。
请注意,在某些情况下,您可能会遇到内存泄漏问题——即在绘图事件之间内存未被释放,导致更改后图形绘制不正确。如果发现此问题,尝试在重新绘图前使用 .clf() 和 .close() 方法清理上一次绘图所占用的内存。
重要提示:在当前版本的 Jupyter Notebook 中,使用 Matplotlib inline 并非必需,因为图表会自动显示。不过,在需要共享代码时它仍然很有用。因此,如果您使用的是最新版本的 Jupyter Notebook 或 DataLab,且不需要分享代码,可以跳过本教程,直接开始学习 Matplotlib。
Matplotlib inline 语法与用法示例
要在 Jupyter 笔记本中启用 Matplotlib 的 inline 模式,只需在笔记本开头加入以下命令:
import matplotlib
%matplotlib inline技术支持
该命令告诉 Jupyter 将 Matplotlib 图像直接渲染在笔记本中,而不是打开新窗口或要求保存为外部图像。启用后,您就可以像往常一样使用 Matplotlib 创建并显示图表。

在 Jupyter Notebook 中使用 %matplotlib inline 的示例
如前所述,最新版 Jupyter Notebooks 和 DataLab 等集成开发环境无需添加 %matplotlib inline 也能在同一单元格中查看图表。不过,即便在这类 IDE 中,我仍习惯在脚本开头添加这行命令。这样更便于在系统和团队成员之间迁移代码,也能降低 IDE 行为改变时出现意外错误的概率。
交互式替代方案:%matplotlib notebook
如果您希望在内嵌图表中实现交互性,可以尝试使用 %matplotlib notebook 后端命令。它同样会在笔记本中显示图表,并提供缩放、平移和数据检查等交互功能。不过,我发现它在某些系统上不太稳定。如果您在使用该魔法命令时遇到问题,建议改用 plotly.io 来实现交互式的内嵌图表。

在 Jupyter Notebook 中使用 %matplotlib notebook 的示例
将 %matplotlib inline 与其他绘图库集成
%matplotlib inline 命令并不限于 matplotlib 图表。它可以轻松与其他绘图库(如 seaborn 和 plotly)集成,从而扩展您在笔记本中可内嵌创建的图表类型。
与 seaborn 库配合使用此命令,可以拓展图表的自定义选项。

在 Jupyter Notebook 中结合 seaborn 使用 %matplotlib inline 的示例
与 plotly 库配合使用此命令,可以实现缩放、平移等交互功能。

在 Jupyter Notebook 中结合 plotly 使用 %matplotlib inline 的示例
要点:使用 %matplotlib inline 命令可在 Jupyter 笔记本中启用内嵌绘图。将此命令与其他绘图库配合使用,可创建功能强大的可视化。
使用 %matplotlib inline 的最佳实践
使用 %matplotlib inline 时,可参考以下最佳实践:
- 在笔记本开头添加 matplotlib inline 命令,确保全篇图表显示一致。
- 在调用该命令前,先导入 matplotlib 库。
- 如果希望在笔记本中查看图表,即使您的 IDE 默认支持该行为,也请使用 matplotlib inline。这将确保运行顺畅,尤其是当您的代码会被同事复用时。
- 在重新生成新图表前务必清理旧图,防止内存泄漏。
- 确保所选图表类型适合您的数据及要传达的结论。
结论
Matplotlib 的 inline 模式是一项便利功能,可提升在 Jupyter 笔记本中使用 Matplotlib 的效率。通过启用图表的内嵌渲染,它能优化从数据中创建、探索并传达洞见的工作流程。
想进一步学习数据可视化,请查看Matplotlib 数据可视化入门。您还可以在这门 Seaborn 课程和这篇关于 Matplotlib 直方图的教程中尝试构建更高级的图表与可视化。
Matplotlib 是一个功能强大的 Python 可视化库。使用 Jupyter Notebooks、DataLab 或其他兼容环境时,您可以使用 Matplotlib inline 将 Matplotlib 图直接显示在笔记本中,而无需额外的窗口。想了解 Matplotlib 的更多功能,请查看这篇关于使用 Matplotlib 库的教程。
Matplotlib Inline 有什么作用?
Matplotlib inline 是 Jupyter Notebooks 中的一个后端命令,用于将 Matplotlib 图像渲染在代码单元格正下方。这意味着当您执行生成 Matplotlib 图像的代码时,图像会内嵌显示在笔记本中,而不是出现在单独的窗口或输出单元中。
在笔记本中迭代更新图表时,内嵌渲染非常有用。由于图形直接出现在生成它的代码下方,您可以轻松看到代码更改如何影响结果。您还能在此过程中应用标准图表元素,如标题、坐标轴标签、图例或颜色编码。
请注意,在某些情况下,您可能会遇到内存泄漏问题——即在绘图事件之间内存未被释放,导致更改后图形绘制不正确。如果发现此问题,尝试在重新绘图前使用
.clf()和.close()方法清理上一次绘图所占用的内存。重要提示:在当前版本的 Jupyter Notebook 中,使用 Matplotlib inline 并非必需,因为图表会自动显示。不过,在需要共享代码时它仍然很有用。因此,如果您使用的是最新版本的 Jupyter Notebook 或 DataLab,且不需要分享代码,可以跳过本教程,直接开始学习 Matplotlib。
Matplotlib inline 语法与用法示例
要在 Jupyter 笔记本中启用 Matplotlib 的 inline 模式,只需在笔记本开头加入以下命令:
该命令告诉 Jupyter 将 Matplotlib 图像直接渲染在笔记本中,而不是打开新窗口或要求保存为外部图像。启用后,您就可以像往常一样使用 Matplotlib 创建并显示图表。
在 Jupyter Notebook 中使用
%matplotlibinline 的示例如前所述,最新版 Jupyter Notebooks 和 DataLab 等集成开发环境无需添加
%matplotlibinline 也能在同一单元格中查看图表。不过,即便在这类 IDE 中,我仍习惯在脚本开头添加这行命令。这样更便于在系统和团队成员之间迁移代码,也能降低 IDE 行为改变时出现意外错误的概率。交互式替代方案:
%matplotlib notebook如果您希望在内嵌图表中实现交互性,可以尝试使用
%matplotlibnotebook 后端命令。它同样会在笔记本中显示图表,并提供缩放、平移和数据检查等交互功能。不过,我发现它在某些系统上不太稳定。如果您在使用该魔法命令时遇到问题,建议改用 plotly.io 来实现交互式的内嵌图表。在 Jupyter Notebook 中使用
%matplotlib notebook的示例将
%matplotlib inline与其他绘图库集成%matplotlib inline命令并不限于 matplotlib 图表。它可以轻松与其他绘图库(如 seaborn 和 plotly)集成,从而扩展您在笔记本中可内嵌创建的图表类型。与 seaborn 库配合使用此命令,可以拓展图表的自定义选项。
在 Jupyter Notebook 中结合 seaborn 使用
%matplotlibinline 的示例与 plotly 库配合使用此命令,可以实现缩放、平移等交互功能。
在 Jupyter Notebook 中结合 plotly 使用
%matplotlib inline的示例要点:使用
%matplotlib inline命令可在 Jupyter 笔记本中启用内嵌绘图。将此命令与其他绘图库配合使用,可创建功能强大的可视化。使用
%matplotlibinline 的最佳实践使用
%matplotlib inline时,可参考以下最佳实践:结论
Matplotlib 的 inline 模式是一项便利功能,可提升在 Jupyter 笔记本中使用 Matplotlib 的效率。通过启用图表的内嵌渲染,它能优化从数据中创建、探索并传达洞见的工作流程。
想进一步学习数据可视化,请查看Matplotlib 数据可视化入门。您还可以在这门 Seaborn 课程和这篇关于 Matplotlib 直方图的教程中尝试构建更高级的图表与可视化。