我很难为具有多个标签的节点设置属性。
我的graphstyle.grass文件如下所示:
node {
diameter: 40px;
color: #aaaaaa;
border-color: #888888;
border-width: 1.5px;
text-color-internal: #000000;
caption: '{name}';
font-size: 12px;
}
node.foo {
color: #aaaaff;
}
node.bar {
color: #aaffaa;
}
node.bar.a {
border-color: #ff0000;
}
node.bar.b {
border-color: #0000ff;
}
所以这里的意图是,如果你有一个'bar'标签,节点会以某种方式着色,如果你还有一个额外的'a'或'b'标签,你的边框会被适当地着色。我的CSS知识很弱,但我认为这是传统上如何完成多个类选择器。
我在Neo 2.0.1浏览器图形显示中看到的行为是,如果一个节点有多个标签,它会选择第一个标签,尝试在草文件中找到node.first_label选择器,如果它没有找到它它只是为它添加一个新的选择器。所以有两个具体的例子:
非常感谢任何指导或建议。
答案 0 :(得分:1)
这是一种非常明智的方法,这是正确的。从Neo4j 2.0.1开始,图形样式表还不够巧妙,无法处理链式类选择器。选择顺序(正如您所观察到的)也被打破了。
<强>更新强> 从2.2,multiple class selectors are supported开始,只要您手动编辑草定义。
答案 1 :(得分:0)
也许使用Alchemy的SVG + CSS支持dataviz? (通过GraphJSON向其发送数据) - http://neo4j.com/developer/guide-data-visualization/#_library_alchemy_js_open_source_graph_visualization
目前 http://graphalchemist.github.io/Alchemy/#/docs 是说: &#34;通过CSS进行样式化往往是不灵活的,因为它与数据没有任何关系。但是,有些人可能想要使用SVG / CSS提供的模糊功能,我们确保这很容易做到。节点和边的svg元素接收与配置选项edgeTypes和nodeTypes中定义的类型相对应的类。要使用css创建相同的图形,您可以根据这些类分配css样式。根据我们的数据和这个例子,我们可以使用这个css生成&#34;
之后的图表虽然它称CSS不灵活,但如果SVG确实支持你所寻求的CSS概念,我觉得它比默认方式更灵活,炼金术建议你做造型
我想知道Alchemy是否支持节点的图像(位图和SVG)btw。我还希望看到多个图像(每个用于节点的标签)以某种方式重叠(如果在Neo4j中确实存在标签顺序概念,则基于标签顺序排序)。可能如果使用类似于Popoto.js(http://www.popotojs.com/)的代码也使用D3