python - igraph python中的标签绘制错误
问题描述
将 igraph 与 python 一起使用,我试图在 vertices 和 edges 中绘制标签,但它们显示错误。
我的代码:
import igraph as ig
g = ig.Graph(directed = True, n=4)
g.add_edges([(0,1), (0,2), (2,3)])
g.es["weight"]=[1,2,3]
g.es["label"] = ["blue", "green", "yellow"]
g.vs["label"] = ["v1", "v2", "v3", "v4"]
ig.plot(g, layout = g.layout("rt"), edge_width = g.es['weight'])
我意识到我第一次运行程序时,它们显示得很好:
但是,如果我尝试使用不同的标签再次运行它:
g.es["label"] = [1, 2, 3]
g.vs["label"] = ["a", "b", "c", "d"]
它失败:
如果改为使用选项vertex_label
和,它会发生相同的情况edge_label
:
import igraph as ig
g = ig.Graph(directed = True, n=4)
g.add_edges([(0,1), (0,2), (2,3)])
g.es["weight"]=[1,2,3]
ig.plot(g, layout = g.layout("rt"), vertex_label=["a", "b", "c", "d"], edge_label = [1, 2, 3], edge_width = g.es['weight'])
但是现在如果我关闭并打开程序,并尝试先运行
g.es["label"] = [1, 2, 3]
g.vs["label"] = ["a", "b", "c", "d"]
它工作正常:
但是,如果我尝试:
g.es["label"] = ["blue", "green", "yellow"]
g.vs["label"] = ["v1", "v2", "v3", "v4"]
它不是:
也许是我安装的问题。我正在使用 python 3.8.3 64 位和 anaconda 在 Visual Studio Code 上运行它。我使用从该站点pip install python-igraph
下载的 Cairo安装了它(正如他们在igraph for Windows 的文档中解释的那样),特别是版本。pycairo-1.20.0-cp38-cp38-win_amd64.whl
任何想法如何解决它?
解决方案
推荐阅读
- angular - '' 类型的 Babylonjs 参数不可分配给 '' 类型的参数
- javascript - 如何专注于标签,在Angular 8中点击通知?
- ios - 为什么在启动图像中选择“iOS 8.0 及更高版本”并为此新建图像后,iOS 应用程序的屏幕尺寸会发生变化?
- python - 是否可以使用带有“导入环境”菜单选项的 environment.yml Anaconda Navigator 更新我的环境?
- java - iText 7 使用具有最小宽度和最大宽度功能的相同 CSS 样式表生成具有两种页面大小的报告
- react-native - 使用 npm 在 Ubuntu 中安装 Expo-cli 的问题
- asp.net-mvc - 我可以在 ASP.NET Core 的中间件期间访问数据库吗?
- python - 为什么将列表存储在 Pandas 数据框中的单元格中是一个坏主意?
- vba - 如何检查 PowerPoint 文档中的所有文本框是否都已填写
- vue.js - 添加动态类时会触发Vue延迟加载