Jupyter Notebook 中未显示绘图

新手上路,请多包涵

我正在尝试为 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>]

我究竟做错了什么?

原文由 pquest 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 792
2 个回答

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

%matplotlib inline

在此处输入图像描述

原文由 Rohan Nagavardhan 发布,翻译遵循 CC BY-SA 4.0 许可协议

我已经尝试了以上所有方法,最终我发现 matplotlib 和一个名为 dtale 的库之间存在冲突。当我删除 import dtale 命令并重新启动内核时,一切都运行良好。

原文由 Guy Osher-Lahav 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题