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 Java 应用程序创建的 Neo4j 图形数据库
R语言plotly可视化:使用PCA算法进行数据降维使用plotly可视化PCA所有的主成分绘制散点图矩阵降维后的两个(三个)核心主成分的二维三维可视化图形方差解释的量载荷图等