Linkurious 属性不起作用
Linkurious attributes don't work
我正在尝试设置 "visual variables" 但失败了。完整代码在这里:http://pastebin.com/j6i1B8ie
<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
均未得到尊重。
我可以不这样做吗?或者我错过了什么?
*更新我*
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();
}
我希望在节点内产生红色边缘和标签,但两者都没有。我还需要什么?
您使用什么节点渲染器?最好使用 sigma.renderers.linkurious。渲染器是 Sigma 标准渲染器的猴子补丁。要使用 sigma.renderers.linkurious,只需将该渲染器的文件添加到您的代码中,如 https://github.com/Linkurious/linkurious.js/blob/linkurious-version/examples/renderers-linkurious.html.
所示
labelAlignment
不是节点 属性,而是要应用于所有节点的 Sigma 设置,请参阅 https://github.com/Linkurious/linkurious.js/wiki/Settings 。您不能将其应用于特定节点。
EDIT2:已在 https://github.com/Linkurious/linkurious.js/issues/139
中修复
我正在尝试设置 "visual variables" 但失败了。完整代码在这里:http://pastebin.com/j6i1B8ie
<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
均未得到尊重。
我可以不这样做吗?或者我错过了什么?
*更新我*
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();
}
我希望在节点内产生红色边缘和标签,但两者都没有。我还需要什么?
您使用什么节点渲染器?最好使用 sigma.renderers.linkurious。渲染器是 Sigma 标准渲染器的猴子补丁。要使用 sigma.renderers.linkurious,只需将该渲染器的文件添加到您的代码中,如 https://github.com/Linkurious/linkurious.js/blob/linkurious-version/examples/renderers-linkurious.html.
所示labelAlignment
不是节点 属性,而是要应用于所有节点的 Sigma 设置,请参阅 https://github.com/Linkurious/linkurious.js/wiki/Settings 。您不能将其应用于特定节点。
EDIT2:已在 https://github.com/Linkurious/linkurious.js/issues/139
中修复