【问题标题】:Plots not showing in Jupyter notebookJupyter 笔记本中未显示的绘图
【发布时间】:2020-07-22 11:38:57
【问题描述】:

我正在尝试为 Anscombe 数据集创建 2x2 图

加载数据集并分离数据集中的每个类

import seaborn as sns
import matplotlib.pyplot as plt

anscombe = sns.load_dataset('anscombe')

dataset_1 = anscombe[anscombe['dataset'] == 'I']
dataset_2 = anscombe[anscombe['dataset'] == 'II']
dataset_3 = anscombe[anscombe['dataset'] == 'III']
dataset_4 = anscombe[anscombe['dataset'] == 'IV']

创建一个图形并分成 4 个部分

fig = plt.figure()

axes_1 = fig.add_subplot(2,2,1)
axes_2 = fig.add_subplot(2,2,2)
axes_3 = fig.add_subplot(2,2,3)
axes_4 = fig.add_subplot(2,2,4)

axes_1.plot(dataset_1['x'], dataset_1['y'], 'o')
axes_2.plot(dataset_2['x'], dataset_2['y'], 'o')
axes_3.plot(dataset_3['x'], dataset_3['y'], 'o')
axes_4.plot(dataset_4['x'], dataset_4['y'], 'o')

axes_1.set_title('dataset_1')
axes_2.set_title('dataset_2')
axes_3.set_title('dataset_3')
axes_4.set_title('dataset_4')

fig.suptitle('Anscombe Data')

fig.tight_layout()

我在每个地块得到的唯一输出是

[<matplotlib.lines.Line2D at 0x24592c94bc8>]

我做错了什么?

【问题讨论】:

  • 此问题不可重现。我可以用你所拥有的来得到你的情节。 conda update condaconda update --all 在 conda 提示符下。此外,在提示符处键入 jupyter lab,而不是 jupyter notebook。这是较新版本的 jupyter,并且已经是发行版的一部分。
  • 好的..我正在尝试。
  • Matplotlib 目前使用的是module://ipykernel.pylab.backend_inline,这是一个非GUI 后端,所以无法显示图。 """启动 IPython 内核的入口点

标签: python matplotlib


【解决方案1】:

如果您使用的是 Jupyter Notebook,则可以将以下行添加到调用所有导入的顶部单元格中。以下命令将呈现您的图表

%matplotlib inline

【讨论】:

  • 让我在我的环境中试试
  • 尝试使用colab notebook colab.research.google.com/notebooks
  • 能否分享您的代码...我也在 colab 中尝试过.. 不工作
  • 收到此警告:- Matplotlib 当前正在使用 module://ipykernel.pylab.backend_inline,这是一个非 GUI 后端,因此无法显示该图。 """启动 IPython 内核的入口点。
【解决方案2】:

添加%matplotlib inline 或使用matplotlib.pyplot.ion()

在你导入 matplotlib 之后。

来自plotting docs

从 IPython 5.0 和 matplotlib 2.0 开始,您可以避免使用 IPython的具体魔法和使用 matplotlib.pyplot.ion()/matplotlib.pyplot.ioff() 其中有 在 IPython 之外工作的优势也是如此。

【讨论】:

  • 重启你的内核,看看是否解决了问题。您还可以删除内联部分并查看它是否显示在新窗口中
  • 尝试了两个仍然相同的结果..没有收到错误并且没有显示图表
  • 尝试用plt.draw()plt.show() 强制它,看看是否有帮助。也试试%matplotlib notebook
  • 不工作..能否请您检查您的环境中的相同代码并检查它是否适合您
  • 只是问一下,你不会用vscode ipython交互模式吧?如果你是,vscode 有自己的问题,请使用 Jupyter notebook。如果您使用的是 jupyter notebook,请尝试更新 jupyter 本身和 notebook。