问题标签 [pyvis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
258 浏览

python - 如何在 PyVis 上绘制有向边

我正在尝试用 pyvis 绘制一个有向图。在文档中,他们建议使用以下命令来创建定向边缘:

问题有两个:

  1. 我收到此错误

类型错误:add_edge() 为参数 'to' 获得了多个值

  1. from是 python 关键字,因此不能用作参数。

有什么建议吗?

0 投票
1 回答
36 浏览

python - networkx 是否提供了一种方法来创建可以从一个节点获取的所有可能路径的子图?

我有一个图表显示对象之间的关系,如果对象 A 与对象 B 交互,对象 B 与对象 C 交互,我必须假设对象 A 可以与对象 C 交互交互。

我可以使用nx.descendants.

我还想显示一个显示这些传递关系的图表 - 是否有类似的方法返回一个图表而不是一个集合?

0 投票
0 回答
22 浏览

stringio - 如何在没有html文件的情况下响应pyvis图

我想将 pyvis 图作为 html 响应传递。有没有办法在不保存的情况下传递 html 文件?

我想到的方法是使用bytesio或者stringio的方法。但它返回一个错误

错误是

AttributeError: '_io.BytesIO' 对象没有属性 'split'

我该如何解决这个问题..帮帮我

0 投票
2 回答
255 浏览

python - 与 networkx 一起工作的包,可以处理可点击的节点

我正在尝试使用 networkx 作为网络图来可视化数据。我的数据看起来不错,但我想添加悬停和点击事件以显示其他信息。例如,可能有一个名为“纽约”的节点,单击时会在画布的一侧显示一个小表格,其中提供诸如多少个城市、当前人口等信息。我目前正在使用带有 networkx 的 pyviz。就创建图表而言,这似乎非常简单,但在我正在寻找的用户交互类型上却不是那么简单。

我也尝试了散景和绘图,但是在工作时点击和悬停功能,用networkx实现并不是很简单。这是我的图表的样子。我的目标是展示系统之间的关系。

pyvis 图

0 投票
0 回答
117 浏览

cluster-analysis - PyVis:基于边缘权重的视觉聚类

我正在尝试根据边缘的权重对网络中的节点进行可视化聚类:具有高边缘权重的节点应该在输出图像的 2d 欧几里得空间中靠近。

我用 NetworkX 构建了我的网络并将其转换为PyVis以显示它。我想知道是否有一种方法可以设置 PyVis,以便它们之间具有高权重边缘的节点靠近,理想情况下,我希望它看起来像这个例子。

我还想知道我是否应该先发制人地将 NetworkX 中的节点集群,标记它们,然后使用此信息在附近显示它们(集群参见答案)。

另一种选择是删除所有边缘,除了那些具有高相对值的边缘(0.0075在下面的示例中),但我不知道这是否有助于让 PyVis 将节点可视地聚集在一起。

或者是否有任何其他选择来获得一些不错的东西(PageRank 等)?似乎缺乏关于如何正确可视化图形数据的信息(除此之外我没有发现太多信息

在此处输入图像描述

这是一个 MWE 来重现我所看到的;基本上,在这个最小的例子中,我希望看到节点[7,9,16,51,57]聚集在一起,与其他节点相比(理想情况下,我希望它看起来像这个例子 - 我以后总能弄清楚颜色):

0 投票
1 回答
179 浏览

python - 使用 pyvis 和 python 对图进行操作

我通过使用from pyvis.network import Network网络并将其定义为net = Network().

net.add_nodes(nodes)我使用函数和.添加到网络边缘和节点net.add_edge(x, y)。有没有机会不仅使用可视化来处理这个图表?那么例如找到两个特定节点之间的所有路径?因为在文档中搜索只能绘制图表。我看到了其他选项(例如类)来处理图形(示例),但是用字典的字典定义图形非常烦人。

0 投票
1 回答
151 浏览

json - 在 jupyter lab 上使用 pyvis 在网络节点上单击事件

我正在做一个应用数据分析的项目,并试图将点击事件添加到网络 G 中的一些精确节点。我发现了一些关于这个主题的糟糕文档,并试图在我的代码中实现这一点。下面是一个简化的示例,试图让节点 1 在通过读取为选项或交互的 json 文件单击它时打开一个维基百科页面。url 会自动打开,甚至无需单击节点,单击节点不会执行任何操作。似乎 Jupyter 只是忽略了我的“交互”和“单击”层次结构。我被困住了,请求你的帮助!多谢 !

0 投票
1 回答
213 浏览

python - pyvis 中的动态节点大小

我想根据连接数使节点大小不同。但是,pyvis 中似乎不存在此功能?也许我遗漏了一些东西,或者它可能不被完全支持。

这是我的示例代码:

0 投票
1 回答
116 浏览

python - 进一步编辑 PyVis 工具提示中的项目?

我正在使用 PyVis 进行网络可视化,并希望在悬停在节点上时在工具提示功能中添加一些额外的项目。

我基本上直接使用来自 GoT 网络的 PyVis 文档的教程部分的代码: https ://pyvis.readthedocs.io/en/latest/tutorial.html

此功能中的工具提示已设置,以便在将鼠标悬停在节点上时显示相邻邻居的列表。我想显示相同的信息,但也想显示每个邻居的相关边权重。

我知道在我的可视化中考虑了重量,因为边缘宽度会根据重量而变化,但我所做的几次尝试并没有显示工具提示中的任何变化。

除了负责工具提示的代码之外,这是我尝试过的(工具提示部分位于底部,就在 neighbor_map 对象下方):

我想我只是不太了解如何正确调用 node['value'] 以在工具提示中产生新的显示。非常感谢任何帮助!

0 投票
2 回答
272 浏览

python - Python、networkx、pyvis:如何更改节点标签字体大小

我一直在努力解决一个简单的问题。如何更改某种类型节点的标签大小?我的节点是交换机及其端口。我希望节点是开关,其标签的字体比端口节点大。我正在使用 networkx 和 pyvis 来绘制我的数据。

当我添加节点(lsysname、rsysname、lswname)时,我基本上希望有一个更大的字体大小,例如 25。我希望当我添加端口作为节点时,字体大小是默认的 12。这可能吗?如果是,我将如何更改下面的代码?

这是我的代码: