如何将<text>和<line>元素添加到mxGraph图形中

时间:2016-05-28 06:45:04

标签: mxgraph

我需要将自定义<line><text>元素添加到由mxGraph库呈现的SVG中。

有谁知道怎么做(或者根本不可能)?

http://www.w3schools.com/svg/svg_line.asp

http://www.w3schools.com/svg/svg_text.asp

2 个答案:

答案 0 :(得分:1)

我通过创建一个带有0长度顶点的文本元素(标签)找到了解决方法。 见http://jgraph.github.io/mxgraph/javascript/examples/labels.html

var v1 = graph.insertVertex(parent, null, 'vertexLabelsMovable', 20, 20, 80, 30);
// Places sublabels inside the vertex
var label11 = graph.insertVertex(v1, null, 'Label1', 0.5, 1, 0, 0, null, true);
var label12 = graph.insertVertex(v1, null, 'Label2', 0.5, 0, 0, 0, null, true);

但是,对我来说,这仍然是一个非常糟糕的解决方案。

答案 1 :(得分:0)

this.addEntry('vertical Line', mxUtils.bind(this, function() {
        var cell = new mxCell('', new mxGeometry(0, 0, 10, 160), 'line;strokeWidth=2;direction=south;html=1;');
        cell.vertex = true;
        this.graph.setAttributeForCell(cell, 'placeholders', '1');
        this.graph.setAttributeForCell(cell, 'capacity', '0');

        return this.createVertexTemplateFromCells([cell], cell.geometry.width, cell.geometry.height, 'Vertical Line');
    }))

垂直线代码