用Pyvis工具可视化社交网络图无法呈现按钮(buttons)

在做一个社交网络图的小型PJ,看到了很好用的Pyvis工具,但是自己写代码生成的HTML无论如何看不见交互界面……找了很久之后在stackoverflow上看到了原因。搬上原贴:

python - How to display buttons in pyvis visualization of NetworkX Graph? - Stack Overflow

我原来的代码是这样的

# 画图
net = Network(height='1400px',width='100%',bgcolor='#222222',filter_menu=True,select_menu=True, notebook=True,cdn_resources='remote',font_color="white") # 定义网络类 
net.barnes_hut()

# 添加明星节点
net.add_nodes(selected_nodes[number[0]:number[1]],title = [nodes[selected_nodes[i]] for i in range(number[0],number[1])],\
              color = ['#FF00FF' for i in range(number[0],number[1])],\
              size = [200 for i in range(number[0],number[1])], label = [nodes[selected_nodes[i]] for i in range(number[0],number[1])])

# 添加第一梯队的followers
net.add_nodes(selected_nodes[number[1]:number[2]],title = [nodes[selected_nodes[i]] for i in range(number[1],number[2])],\
              color = ['#82B0D2' for i in range(number[1],number[2])],\
              size = [100 for i in range(number[1],number[2])])
net.add_edges(selected_edges[number[1]-number[1]:number[2]-number[1]])

# 添加第二梯队的followes
net.add_nodes(selected_nodes[number[2]:number[3]],title = [nodes[selected_nodes[i]] for i in range(number[2],number[3])],\
              color = ['#7FFFAA' for i in range(number[2],number[3])],\
              size = [80 for i in range(number[2],number[3])])
net.add_edges(selected_edges[number[2]-number[1]:number[3]-number[1]])

# 展示
net.toggle_physics(True)
net.show_buttons(filter_=True)
net.show('test.html')

无法呈现按钮,是因为在初始化Network类的时候把height设置成了1400px,width设置成了100%,太大了,按钮放不下。根据@Alex大佬的回答,改成一个固定数(800px),或者更小的比例(80%),就可以了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值