我正在尝试设置“视觉变量”,但却失败了。完整的代码在这里:answer
<script type="application/javascript">
var neo = {
url: 'http://localhost:7474',
user: 'neo4j',
password: '***'
};
function customiseGraph(s) {
s.graph.nodes().forEach(function(n) {
n.type = 'square';
n.color = '#4444BB';
n.labelAlignment = 'left';
if (n.neo4j_labels[0] == 'DMSys') {
n.label = n.neo4j_data.System;
}
if (n.neo4j_labels[0] == 'DMFile') {
n.label = n.neo4j_data.Name;
n.color = '#BB4444';
}
});
s.refresh();
}
sigma.neo4j.cypher(neo,
'MATCH (n) OPTIONAL MATCH (n)-[r]->(m) RETURN n,r,m LIMIT 100',
{ container: 'graph', type: 'canvas' },
customiseGraph
);
</script>
在上面,我希望显示的每个节点都呈现为正方形,但事实并非如此。请注意,颜色设置正确,但labelAlignment
或type
都不受尊重。
*更新I *
function customiseGraph(s) {
s.settings({
labelAlignment: 'inside',
edgeColor: 'default',
defaultEdgeColor: '#ff0000'
});
s.graph.nodes().forEach(function(n) {
n.color = '#4444BB';
if (n.neo4j_labels[0] == 'DMSys') {
n.label = n.neo4j_data.System;
}
if (n.neo4j_labels[0] == 'DMFile') {
n.label = n.neo4j_data.Name;
n.color = '#BB4444';
}
});
s.refresh();
}
我希望在节点内产生红色边缘和标签但不会产生。我还需要什么?
答案 0 :(得分:3)
您使用什么节点渲染器?最好使用sigma.renderers.linkurious。渲染器是Sigma的标准渲染器的猴子补丁。要使用sigma.renderers.linkurious,只需将该渲染器的文件添加到代码中,如https://github.com/Linkurious/linkurious.js/blob/linkurious-version/examples/renderers-linkurious.html所示。
{{1}}不是节点属性,而是要在所有节点上应用的Sigma设置,请参阅https://github.com/Linkurious/linkurious.js/wiki/Settings。您无法将其应用于特定节点。
EDIT2:已修复为https://github.com/Linkurious/linkurious.js/issues/139