小能豆

如何使 IPython 笔记本 matplotlib 绘图内联

javascript

我正在尝试在装有 Python 2.7.2 和 IPython 1.1.0 的 MacOS X 上使用 IPython 笔记本。

我无法让 matplotlib 图形以内联方式显示。

import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline  

我也尝试过%pylab inlineipython 命令行参数,--pylab=inline但这没有什么区别。

x = np.linspace(0, 3*np.pi, 500)
plt.plot(x, np.sin(x**2))
plt.title('A simple chirp')
plt.show()

我没有得到内嵌图形,而是得到了这个:

<matplotlib.figure.Figure at 0x110b9c450>

matplotlib.get_backend()显示我有'module://IPython.kernel.zmq.pylab.backend_inline'后端。


阅读 50

收藏
2024-08-26

共1个答案

小能豆

在 IPython 笔记本中,图形显示问题可能与配置有关。你遇到的问题可能是由于以下几个原因造成的:

  1. IPython 和 Matplotlib 的版本兼容性:你使用的是 IPython 1.1.0 和 Python 2.7.2,这些版本可能存在一些不兼容的问题。建议升级 IPython 和 Matplotlib 到更高的版本,这可能会解决图形显示的问题。

  2. Matplotlib 配置:确保你的 Matplotlib 配置正确。在 IPython 笔记本中,%matplotlib inline 魔法命令应该能让图形以内联方式显示。如果这没有效果,可以尝试在代码中手动设置后端:

python import matplotlib matplotlib.use('nbagg')

或者尝试其他后端,例如:

python matplotlib.use('TkAgg')

  1. 重启 IPython 笔记本:有时,改变后端或配置后,需要重启 IPython 笔记本服务器才能使更改生效。你可以尝试重启 IPython 笔记本服务,看看问题是否得到解决。

  2. 检查 IPython 配置文件:确保你的 IPython 配置文件中没有错误的设置。可以尝试重置 IPython 配置:

sh ipython profile create

  1. 更新 IPython 和相关库:如果可能的话,升级到更高版本的 IPython 和 Matplotlib,确保它们的兼容性。可以使用 pipconda 进行升级。例如:

sh pip install --upgrade ipython matplotlib

如果你使用的是 conda,可以使用:

sh conda update ipython matplotlib

通过以上步骤,你应该能够解决内联图形不显示的问题。

2024-08-26