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

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
举例一个非常简单的:

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

最后可以得到:

{'关键词': 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格式:

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,两者共现次数]:

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

最终效果:
在这里插入图片描述
可在左侧进行调节

猜你喜欢

转载自blog.csdn.net/sinat_26917383/article/details/129744760