Neo4j图形算法:可视化映射图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Neo4j图形算法:可视化映射图相关的知识,希望对你有一定的参考价值。

参考技术A 几周前,我写了一篇文章 《使用加权PageRank找出史上最优秀的网球运动员》 ,在那篇文章中,我使用了一个映射可信图。而本文我将详细介绍一下这个映射可信图。

正如我在那篇文章中所指出的,大部分图模型在进行图算法运行时,与图算法所期待的模型是不匹配的,所以,我们需要映射出一个新的图,来运行图算法。

在当前示例中,PageRank算法是运行在‘可信图’的基础上的,可信图中每个结点的可信度依赖于传入的关系,可信度的值则取决于这些关系上的weight属性。

对于网球图而言,开始的图是由比赛、胜者、负者所组成,然后使用下面的语句派生出一个可信图:

接着,我们继续使用费德勒和纳达尔比赛的例子来看他们是如何作用的,如果我们要查询费德勒赢的比赛的情况,只要将“费德勒”名字赋值给p1,“纳达尔"赋值给p2,查询语句如下:

查询结果如下:

如果想得到纳达尔赢得比赛的情况:

查询结果如下:

可视化这个映射图之后就很容易理解了。我们可以使用APOC库中的方法来进行可视化映射图。

看下面的查询语句:

前两行与之前查询语句没有什么区别,但第三行我们在两个运动员结点之间创建的虚拟关系,这个语句运行之后产生的映射图比较大,所以,我们先产生个小的的映射图,只包含一些著名的运动员。

首先 我们创建一个参数,仅包括那些著名的运行员。

接下来,我们让这些运行员之间的比较结果可视化:

运行之后得到下图: 

echarts,柱状图,数据为0时,不显示0

参考技术A

在javascript文件编写的时候,在label中加入formatter回调函数,判断输入数据,若数据为0的转换为空字符即可。如下图所示:

加入函数这个判断之前的效果:

加入之后的效果((由于我在写的时候让输入随机了,所以数据有不同):

扩展资料:

Echarts中数据到图形的映射,制作数据可视化图表的逻辑是这样的:基于数据,在配置项中指定如何映射到图形。

概略而言,可以进行这些映射:

1、指定 dataset 的列(column)还是行(row)映射为图形系列(series)。这件事可以使用 series.seriesLayoutBy 属性来配置。默认是按照列(column)来映射。

2、指定维度映射的规则:如何从 dataset 的维度(一个“维度”的意思是一行/列)映射到坐标轴(如 X、Y 轴)、提示框(tooltip)、标签(label)、图形元素大小颜色等(visualMap)。

3、这件事可以使用 series.encode 属性,以及 visualMap 组件(如果有需要映射颜色大小等视觉维度的话)来配置。

参考资料来源:

echarts官网文档-配置详解



以上是关于Neo4j图形算法:可视化映射图的主要内容,如果未能解决你的问题,请参考以下文章

Neo4j中的图形算法:15种不同的图形算法及其功能

如何可视化从嵌入式 Neo4j Java 应用程序创建的 Neo4j 图形数据库

R语言plotly可视化:使用PCA算法进行数据降维使用plotly可视化PCA所有的主成分绘制散点图矩阵降维后的两个(三个)核心主成分的二维三维可视化图形方差解释的量载荷图等

Neo4j:不知道如何将图形映射到 Spring Data bean

如何可视化neo4j图[关闭]

基于社区发现算法和图分析Neo4j解读《权力的游戏》下篇