cairocffi 和绘图(莱顿算法)

cairocffi and plotting (for Leiden algorithm)

我是 python 的 cairo 图书馆的新手,所以希望您能提供一些信息,因为我在网上找不到很多信息。 我正在尝试使用一种算法来确定我的(未连接)网络中的社区:

import igraph as ig
import leidenalg as la

G = nx.karate_club_graph()
partition = la.find_partition(G, la.ModularityVertexPartition)
ig.plot(partition)

上面的代码 returns 一个错误,要求安装 Cairo 或 . 然后我安装了它,并尝试使用以下代码:

import cairocffi as cairo

G = nx.karate_club_graph()
G2 = ig.Graph.from_networkx(G)
partition = la.find_partition(G2, la.ModularityVertexPartition)
ig.plot(partition)

现在我收到以下错误:

OSError: no library called "cairo-2" was found
no library called "cairo" was found
no library called "libcairo-2" was found
cannot load library 'libcairo.so.2': dlopen(libcairo.so.2, 2): image not found
cannot load library 'libcairo.2.dylib': dlopen(libcairo.2.dylib, 2): image not found
cannot load library 'libcairo-2.dll': dlopen(libcairo-2.dll, 2): image not found

我不知道如何使用 cairo 绘制图表。我想做的是应用莱顿算法(甚至在视觉上)。

cairo 是一个 C 库。 cairocffi 是它的一个 Python 接口。您已安装 cairocffi,但未安装 cairo。确保安装 cairo 以及系统常用的包管理器,如 cairocffi 文档中所述:

https://cairocffi.readthedocs.io/en/stable/overview.html#installing-cffi