首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何绘制python pyviz网络节点

如何绘制python pyviz网络节点
EN

Stack Overflow用户
提问于 2020-04-30 17:38:12
回答 2查看 848关注 0票数 3

我使用python pyvis包来实现节点可视化。pyvis树只能在单独的html上渲染吗?我们不能使用matplotlib包进行绘图吗?

代码语言:javascript
复制
from pyvis.network import Network
import pandas as pd

got_net = Network(height="750px", width="100%", bgcolor="#222222", font_color="white")

# set the physics layout of the network
got_net.barnes_hut()
got_data = pd.read_csv("https://www.macalester.edu/~abeverid/data/stormofswords.csv")

sources = got_data['Source']
targets = got_data['Target']
weights = got_data['Weight']

edge_data = zip(sources, targets, weights)

for e in edge_data:
    src = e[0]
    dst = e[1]
    w = e[2]

    got_net.add_node(src, src, title=src)
    got_net.add_node(dst, dst, title=dst)
    got_net.add_edge(src, dst, value=w)

neighbor_map = got_net.get_adj_list()

# add neighbor data to node hover data
for node in got_net.nodes:
    node["title"] += " Neighbors:<br>" + "<br>".join(neighbor_map[node["id"]])
    node["value"] = len(neighbor_map[node["id"]])

got_net.show("gameofthrones.html") 

在上面的代码中,节点在新的浏览器选项卡上以单独的html呈现,我想绘制它们而不是HTML,如下所示

代码语言:javascript
复制
plt.plot(got_net)

如果有人能帮助理解这个包,我将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-05-11 08:35:35

pyviz documentation中,您可以在Network构造函数中将可选参数notebook设置为True,如果您在jupyter笔记本中,它将显示它:

代码语言:javascript
复制
got_net = Network(
    height="750px", 
    width="100%", 
    bgcolor="#222222", 
    font_color="white", 
    notebook=True # here
)
...
got_net.show("gameofthrones.html")
票数 2
EN

Stack Overflow用户

发布于 2021-09-09 09:15:36

Network构造函数中设置notebook = True,然后按如下方式添加它解决了我的实现中的问题:

代码语言:javascript
复制
from IPython.core.display import display, HTML

...

got_net.show("gameofthrones.html")

display(HTML("gameofthrones.html"))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61520351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档