graphstream FileSinkSVG2 - PullRequest
       48

graphstream FileSinkSVG2

1 голос
/ 01 марта 2020

Я создаю график с graphstream и записываю результат в svg-файл, используя FileSinkSVG2. Работает хорошо. Единственная проблема заключается в том, что стрелки в конце краев не отображаются должным образом в соответствии с определением css. Какие-либо предложения? Вот мой код.

        System.setProperty("gs.ui.renderer", "org.graphstream.ui.j2dviewer.J2DGraphRenderer");          

        String path = "C:\\test.svg";
        Graph graph = new MultiGraph("GraphStream");

        graph.addAttribute("ui.stylesheet", "url('https://www.test.de/graph.css')");

        Layout layout = new HierarchicalLayout();

        graph.addSink(layout);
        layout.addAttributeSink(graph);

        setGraphValues(resultMap, graph);

        layout.compute();

        while (layout.getStabilization() < 1) {
            layout.compute();
        }           

        FileSinkSVG3 svg = new FileSinkSVG3();

        try {

            svg.writeAll(graph, path);

        } catch (IOException ex) {
            logger.info(ex.getMessage(), ex);
           return;
        }

CSS -Файл:

graph {
    fill-color: white;
}

node {
    size: 100px, 50px;
    shape: rounded-box;    
    fill-color: white;
    stroke-mode: plain;
    stroke-color: red;
    text-visibility-mode:normal;
    text-color:black;
    text-background-color:white;
    text-style:normal;
    text-alignment:center;
    text-size:18px;
}


edge {
arrow-shape:arrow;
arrow-size: 3px, 2px; 
shape: line;
size: 2px;
fill-color: red;

}

1 Ответ

0 голосов
/ 10 марта 2020

На первый взгляд кажется, что FileSinkSVG2 не поддерживает настраиваемые ребра, включая стрелки и фигуры. Вы можете открыть вопрос в github или предложить свою собственную реализацию в запросе .

.
...