前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用VOSviewer Online想画啥就画啥(配合python+networkX)

如何用VOSviewer Online想画啥就画啥(配合python+networkX)

作者头像
悟乙己
发布2023-03-25 13:32:30
6740
发布2023-03-25 13:32:30
举报
文章被收录于专栏:素质云笔记素质云笔记

VOSviewer一直都是学术界文献可视化的神器,不过貌似很少看有人来DIY,随意画东西。 那笔者花了点时间测试了一下,发现【VOSviewer Online + networkX/python】可以极快的画出好看的网络关系图。

网址:https://app.vosviewer.com/

1 VOSviewer Online为什么不太适合DIY

利用VOSviewer Online来随意画图,个人觉得 最大的难点 就是: 如何定义出节点的X/Y值

在这里插入图片描述
在这里插入图片描述

当然如果得出这个x/y值,用echats也是可以画的可视化图(分布图):

在这里插入图片描述
在这里插入图片描述

2 networkX/python

这里利用的是networkX的spring_layout 举例一个非常简单的:

代码语言:javascript
复制
import networkx as nx
draw_g = nx.Graph()  
edge_list = [('关键词', '上班'),
('吃饭', '上班'),
('睡觉', '上班'),
('追剧', '吃饭')]

draw_g.add_edges_from(edge_list)
nx.draw(draw_g)
pos=nx.spring_layout(draw_g)
pos

最后可以得到:

代码语言:javascript
复制
{'关键词': array([-0.56107049,  0.50097913]),
 '上班': array([-0.22880495,  0.02489941]),
 '吃饭': array([ 0.43314526, -0.04230246]),
 '睡觉': array([-0.64326983, -0.38276805]),
 '追剧': array([ 1.        , -0.10080804])}

可以来看看生图,不够美观:

在这里插入图片描述
在这里插入图片描述

只要得到网络图中x/y的值,其他都是次要的,很快就可以拿到

3 VOSviewer Online的使用

数据案例/函数说明:https://app.vosviewer.com/docs/

整个VOSviewer Online界面非常简洁:

在这里插入图片描述
在这里插入图片描述

载入数据的格式,map file:

在这里插入图片描述
在这里插入图片描述

一个简单的示例,需要txt格式:

代码语言:javascript
复制
id,label,x,y,cluster,weight
0,上班,0.047386354999586947,0.09347640142576984,7,480
1,吃饭,-0.04136083145086205,0.11242283617676957,2,747
2,睡觉,0.08400404201883144,-0.023665995386614184,4,1887

示例network files,表示[节点a,节点b,两者共现次数]:

代码语言:javascript
复制
2,22,492
9,21,429
12,18,305
2,21,301
2,9,275
18,19,236
9,15,222
12,19,206
2,18,204
18,24,203
19,24,198

最终效果:

在这里插入图片描述
在这里插入图片描述

可在左侧进行调节

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 VOSviewer Online为什么不太适合DIY
  • 2 networkX/python
  • 3 VOSviewer Online的使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档