中心化的可视化图[重复]
Posted
技术标签:
【中文标题】中心化的可视化图[重复]【英文标题】:Visualization graph by centralities [duplicate] 【发布时间】:2022-01-05 13:17:13 【问题描述】:我在 python igraph 中计算了节点的中介中心性并将其保存在 csv 文件中。 现在我想通过中心点在 python 和 igraph 库或 gephi 中可视化它。
我该怎么做?
【问题讨论】:
您是否使用任何特定方法来计算python-igraph
中节点的介数中心性?我找不到任何东西,但我可以使用边缘的中心性来做一些可视化。
我使用了 g.betweenness()。以节点的中心性,我可以看到图形吗??????
您可能想查看my comment 关于 Python 中交互式绘图igraph
的问题。在过去的几年里,很多事情都发生了变化。与以前的版本不同,您可以pip install python-igraph
。但是,仅拥有 igraph 图还不够。您还需要pip install pycairo
。我希望这也能解决。
谢谢,我读了你的评论。我是初学者,我对 python 了解不多。你能在 ig.plot() 中帮助我,必须放置哪些参数来可视化图形及其节点的大小代表它们的中心性?
@mathfux “与 networkx 相比,igraph 在 Python 中是相当困难的事情。它没有像 networkx 那样记录在案。” 非常欢迎对 igraph 文档的贡献。
【参考方案1】:
这是一个例子:
from igraph import *
import numpy as np
g = Graph.Famous("Zachary")
gamma = 0.33
plot(g,
vertex_color=[round(x) for x in rescale(np.array(g.betweenness())**gamma, out_range=(0, 255))],
palette=GradientPalette('Midnight Blue', 'Light Pink'),
vertex_size = 12,
bbox = (300,300))
解释:
顶点颜色可以(以及其他方式)指定为整数,表示调色板中的索引。在这里,我在两种颜色之间使用了渐变调色板。调色板中元素的默认数量是 256,因此我们需要生成介于 0..255 之间的颜色索引。在 rescale
函数的帮助下,中介值被转换为这些值。
此外,我对具有指数gamma
的介数值使用了幂律变换,以实现从小值(大多数顶点)到大值(少数顶点)的更平滑过渡。
要根据介数改变顶点区域,您可以使用
plot(g,
vertex_size = (1 + np.array(g.betweenness())**0.5) * 3,
bbox = (300,300))
指数0.5
确保与介数成正比的是面积而不是半径。将值加 1 可确保最小顶点大小。
【讨论】:
以上是关于中心化的可视化图[重复]的主要内容,如果未能解决你的问题,请参考以下文章
R将egor对象转换为igraph /使用可视化应用程序(错误:重复的顶点名称)
基于Echarts+HTML5可视化数据大屏展示—电子商务公共服务平台大数据中心