【问题标题】:Show igraph plots in Google Colab在 Google Colab 中显示 igraph 图
【发布时间】:2022-01-14 10:20:07
【问题描述】:

我正在尝试在 Google Colab 中绘制 igraph 绘图,但无法正常工作。

我正在使用以下代码来绘制图表:

fg = Graph.Full(n=40, directed=False, loops=False)
plot(fg).show()

起初我收到此错误"NotImplementedError: showing plots is not implemented on this platform: Linux",但我能够通过使用以下配置图像查看器来解决它:

from igraph import Configuration
cfg = Configuration.instance()
cfg['apps.image_viewer'] = "eog"

这消除了错误,但仍然没有显示图像。 删除 show() 语句以使其内联显示也不起作用。

有没有办法在 Google Colab 中绘制 igraph 图表,或者它根本不兼容?

感谢您的帮助。

【问题讨论】:

  • 您是否在 Google Colabs 上安装了 pycairo?如果是这样,单个 plot(fg) 应该可以工作。
  • 您可以执行以下操作:!apt install libcairo2-dev!pip install pycairo 在 Google Colab 上安装 pycairo
  • @mathfux 你为什么不回答这个问题?
  • @Szabolcs 不确定它是否对 OP 有帮助。它对我来说有点不同。 plot(fg).show() 不起作用,但 plot(fg) 起作用。另外,不知道是不是pycairo相关的问题。

标签: python google-colaboratory igraph


【解决方案1】:

.show() 方法已弃用,将在未来版本中删除。不要使用它。有关更多信息,请参阅文档字符串。只需使用plot(g)


您可以使用

在 Google Colab 上安装 igraph
!pip install igraph

要使用绘图,您有两个选择。

使用 Cairo 后端:

安装pycairo

!apt install libcairo2-dev
!pip install pycairo
import igraph as ig
g = ig.Graph.Erdos_Renyi(n=100, m=200)
ig.plot(g)

使用实验性 matplotlib 后端(功能尚未完成):

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ig.plot(g, target=ax)

或更短:

ig.plot(g, target=plt.axes())

【讨论】:

  • igraph 支持matplotlib,哇!很高兴收到您的来信,它正在快速发展。
猜你喜欢
  • 2020-03-06
  • 2022-06-29
  • 2020-10-10
  • 2019-08-12
  • 2019-01-20
  • 2019-03-22
  • 2021-06-19
  • 2019-06-13
  • 1970-01-01
相关资源
最近更新 更多