图学习系列:图可视化工具
最近在学习图的可视化工具,现在记录下来与大家分享。
Csacademy
这是一款小巧的在线作图工具,其网址是:https://csacademy.com/app/graph_editor/。进去之后页面是这样子的:
图1 Csacademy页面
左边是图数据的文本形式,可以直接手动修改以得到不同的图。Graph Data栏单列数据是图的点数据,双列数据(以空格分隔)表示边数据,若一行数据有三列,第三列数值表示该边的权值,若超过三列,则此行数据无效。还可以指定生成的图是有向图还是无向图。
中间是图形的可视化展示区。
右边是操作区,主要有增删操作以及修改点的label和边的权值等操作,有详细的操作说明,生成的图可以保存为PNG格式。
总的来说,Csacademay在线画图工具非常简单,生成的图也还算优美,当然,它的缺点也很明显,只适合轻量级的、简单的图操作,另外,端点相同的边会重合,且这种情况下边的权值也会重叠。
Cytoscape
作为专用于图数据可视化的软件,Cytoscape的功能就强大得多了。
注:安装Cytoscape之前需要安装java。
安装好之后,可以看到Cytoscape的整体布局如下图所示:
图2 Cytoscape 界面
导入数据
导入的图数据是标准的属性图数据,所以用Cytoscape绘制图,一般需要准备三个文件,分别包含边数据、节点属性以及边属性,这些文件一般是以制表符分隔的txt文件或者以逗号分隔的csv文件。
图3 边文件示例 图4 点属性文件示例
准备好图数据以后,就可以导入本地文件建图。
图5 文件导入
导入边文件时,我们需要指定每一列作为图数据的哪一部分输入并选择相应的数据类型,例如,可以选择上述示例边文件中的第一列为Source Node,第二列为Target Node,第三列为Edge Attribute等。
图6 边文件导入
如果没有表头,注意去掉Use first line as column names的勾选。
图7 文件导入时高级选项
完成导入操作之后,图展示如下:
图8 图可视化展示
可以接着导入点或者边的属性文件,导入的属性文件需指定是针对点的还是边的,并指定关键字列,下面以导入点属性文件为例进行说明。
图9 导入点属性文件
如果没有表头,也需要去掉Use first line as column names的勾选。
绘图
图形展示得好不好看,就看这一部分的了。
Layout工具栏主要用于改变整个图的形态。
图10 Layout工具栏 图11 Degree Sorted Circle Layout
Layout Tools有对图的旋转拉伸等处理,大家可以多试试,然后挑选一个自己最心仪的图展示形态,在此基础上进行更细化的设置。
对图的设置主要在操作区完成,尤其是Style设置,Style分为node、edge和network的设置。可以选择Properties->Show All,这样可以操作所有的设置选项,后续只需点点鼠标,就可以随意改变图的展示效果了。
图12 Style设置
常用的Style设置包括描边、颜色、形状、标注等。例如:根据边的属性第三列设置边线条的类型等等。
可以设置节点的形状为圆形。
图13 节点形状设置
根据节点度数的大小设置节点的大小,节点的大小随节点的度数线性变化。
图14 节点大小设置
根据节点属性的第三列设置节点的填充颜色。
图15 节点的填充颜色设置
根据边的属性第三列设置边线条的类型。
图16 边的线条类型设置
当然,熟悉一款软件的使用是需要时间的,大家多多尝试就能画出自己满意的图形。以上操作得到的效果图如下:
图17 效果图
导出数据
绘制的图形可以保存为图片的形式。
图18 以图片的形式导出图
GES可视化展示
GES(https://www.huaweicloud.com/product/ges.html)作为华为自研的图数据库,不仅提供分布式、大规模、一体化的图查询和分析能力,也内置了炫酷的可视化展示工具。
图19 华为云GES可视化界面
图的可视化作为图数据库的一环非常重要。开发者可能着眼的是图数据库的内核与算法,但是客户往往更关心的是展示在他们眼前的东西,这方面来说,可视化了的图数据更有表现力。而且由于人的大脑善于分析图像数据,将图可视化,我们往往能发现更多直观且有价值的信息。但是当前的可视化技术还难以在有限的空间上有效地展示大规模图数据的丰富含义,而对大规模图数据的查询与分析能力正是GES的特点和优势!
- 点赞
- 收藏
- 关注作者
评论(0)