I'm attempting to set "visual variables" but failing at it. the complete code is here: 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>
in the above, I'd expect that every node displayed gets rendered as a square, but it doesn't. mind you, the colours get set correctly but neither labelAlignment
or type
are respected.
can I not do it this way? or what am I missing?
* Update 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();
}
which I would expect to produce red edges and the labels inside the nodes but does neither. what else do I need?