【问题标题】:how to show seaborn clustermap insider a jupyter notebook如何在jupyter笔记本中显示seaborn clustermap Insider
【发布时间】:2020-05-11 15:37:01
【问题描述】:

我已经运行 Seaborn 的 clustermap 并将结果保存到名为“test”的 ClusterGrid 对象中。然而,由于一些未知的原因,该命令没有显示集群图,除非我再次运行它,尽管“测试”不是空的。它确实是一个 ClusterGrid 对象。

既然我保存了 ClusterGrid,有没有什么简单的方法可以显示/绘制它?我试过 plt.plot 但没有用。

【问题讨论】:

  • 显示到输出区域有时可能会出现绘图问题,重新运行它会更容易。但是您应该能够使您的其他方法发挥作用。由于您将其分配给test,您是否尝试在代码下方的单元格中调用test.figure? Seaborn 在后台使用 matplotlib,因此通常可以将 matplotlib 图保存为图像作品。我想它会是test.savefig(),但现在在移动设备上,所以不能看。将其保存为图像后,我更喜欢使用代码单元来调用它,以便在笔记本中将图像编码为 base64。这样它就显示在静态视图中。
  • notebook 中的第七个代码单元说明了使用Image() 在输出中显示图像,并将其保存为笔记本代码中的 base64。如果你只是用 markdown 显示它,你需要在 notebook 中保留另一个文件以供以后查看。
  • 看起来要将图像保存为文件,您可能需要test.figure.savefig(),请参阅this line of code 和上面的代码作为指导。该图是 Seaborn 生成的热图。有些情节具有不同的属性和方法,因此如果必须尝试更多变体或在此处查找特定情节示例以获得确切的语法,请不要完全感到震惊。
  • 另外,我想先问一下,您是否尝试将%matplotlib inline%matplotlib notebook 作为绘图单元格上方单元格的第一行?
  • @wayne test.figure 给我一个错误:-------------------------------- ------------------------------------------- AttributeError Traceback(最近一次调用最后一次) in ----> 1 test.figure AttributeError: 'ClusterGrid' object has no attribute 'figure' 而且我确实有 %matplotlib inline

标签: cluster-analysis jupyter seaborn


【解决方案1】:

键入dir(test) 应该会显示seaborn.matrix.ClusterGrid 的方法和属性。 (seaborn.matrix.ClusterGrid 是您输入 type(test) 时应该看到的内容。)列表中有两个项目,figsavefig

test.fig 将允许您再次显示生成它的单元格下方的任何单元格,假设 %matplotlib inline 之前调用过。因此,如果它在生成单元格中显示不可靠,请在该单元格的正下方放置一个带有test.fig 的单元格,您会看到它。

test.savefig("test_plot.png") 应该将绘图保存为图像文件。您可以使用代码以from IPython.display import Image; Image("test_plot_.png") 显示该图像,该图像将嵌入保存的笔记本中并随后在静态渲染中显示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    • 2018-10-13
    相关资源
    最近更新 更多