2017-04-24 260 views
1

我明白,可以创建自定义节点样式作为SVG图像,然后将其设置为节点的背景图像,但由于某种原因,它不适用于我。这里是我的代码:Cytoscape.js - 自定义节点

var cytoscapeStyle = [ // the stylesheet for the graph  
    { 
    selector: 'node', 
    style: { 
     'background-color': 'white', 
     'border-width': '6px', 
     'label': 'data(id)', 
     'background-image': 'node.svg', //doesn't work for some reason. Works when I use a png (e.g. node.png) 
     'shape': 'roundrectangle', 
     'width': '200px', 
     'height': '90px' 
    } 
    }, 

    { 
    "selector": "node:selected", 
    "style": { 
     "border-width": "6px", 
     "border-color": "#AAD8FF", 
     "border-opacity": "0.5", 
     "background-color": "#77828C", 
     "text-outline-color": "#77828C" 
    } 
    }, 

    { 
    selector: 'edge', 
    style: { 
     'width': 3, 
     'line-color': '#ccc', 
     'target-arrow-color': '#ccc', 
     'target-arrow-shape': 'triangle', 
     'label': 'data(id)' 
    } 
    } 
]; 

感谢提前:)

回答

0

如果您的SVG未加载,则SVG图像无效或不指定尺寸。

0

把SVG(数据URI)在您的数据{..},并设置背景图像数据(SVG)

stylestuff

{ 
selector: 'node', 
style: { 
    'background-image': 'data(svg)' 
} 

nodestuff

cy.add([ 
    { 
    group: "nodes", 
    data: { id: "somenode", 
      svg: <image> //eg. "data:image/svg+xml;base64,<data>" 
         //  or http://some.image.xyz 

    }])