如何使用neovis.js(Neo4j)根据权重绘制具有不同颜色的图形边缘?

时间:2018-12-03 23:57:51

标签: neo4j vis.js

我在Neo4j中有一个带有加权边的图。我使用neovis.js库对其进行了可视化处理,如下图所示。当前,所有边缘具有相同的颜色。在下一步中,我需要为边缘分配颜色,以便基于边缘的预定义属性(该属性是为边缘而非顶点定义的),每个边缘组(集群或社区)具有不同的颜色。

我的图节点和关系存储如下:

节点:顶点(索引,名称),例如:(42,“顶点23”)

关系:EDGE(索引,计数,组),例如:(12,42,0),(24,230,1)

(:顶点)-[:边缘]->(:顶点)

这是我创建图形的代码:

<html>
    <script src="https://rawgit.com/neo4j-contrib/neovis.js/master/dist/neovis.js"></script>
    <script>
        function draw() {
            var config = {
                container_id: "viz",
                server_url: "bolt://localhost:7687",
                server_user: "***",
                server_password: "***",
                labels: {
                    "Vertex": {
                        caption: "name"
                    }
                },
                relationships: {
                    "EDGE": {
                        caption: false,
                        thickness: "count"
                    }                   
                },
                initial_cypher: "MATCH p=()-[:RELATIONSHIP]->() RETURN p"
            }
            var viz = new NeoVis.default(config);
            viz.render();
        }
    </script>
    <body onload="draw()">
        <div id="viz"></div>
    </body>
</html>

如果我也可以将特定的颜色映射到每个组,那就太好了。 假设group是一个二进制属性,所以我想要这样的东西:

...
relationships: {
                    "EDGE": {
                        caption: false,
                        thickness: "count"
                        color: "group" {0: red, 1: green}
                    }                   
                },
...

The visualized weighted graph by neovis.js

0 个答案:

没有答案