jgraph 빠 른 드 로 우 생 성 그림 그리 기
자바 의 jgrapht 라 이브 러 리 조직 이미 지 를 빠르게 시각 화 하려 면 어떻게 해 야 합 니까?
여기에 간결 한 방법 을 제시 하 다.
도구:
1. 자바 의 graph 라 이브 러 리: https://jgrapht.org/
2. JavaScript 의 시각 화 온라인 그림 도구:https://www.draw.io/
사 이 드 인쇄 클래스
public class SimpleDefaultEdge extends DefaultEdge {
/**
*
*/
private static final long serialVersionUID = 1870891835682617414L;
@Override
public Object getSource() {
return super.getSource();
}
@Override
public Object getTarget() {
return super.getTarget();
}
/*
* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return String.format("%s->%s", this.getSource(), this.getTarget());
}
}
그림 의 조직
public static void test026() throws Exception {
Graph dag =
new DirectedAcyclicGraph(SimpleDefaultEdge.class);
/**
* DAG , 3 。
*
*
* 1 9 10 11
* / | | \ | |
* 2 3 4 5 12
* \ | / | /
* 6 7
* \ /|
* 8 13
*
*/
IntStream.rangeClosed(1, 13).forEach(v -> {
dag.addVertex(v);
});
dag.addEdge(1, 2);
dag.addEdge(1, 3);
dag.addEdge(1, 4);
dag.addEdge(1, 5);
dag.addEdge(9, 5);
dag.addEdge(2, 6);
dag.addEdge(3, 6);
dag.addEdge(4, 6);
dag.addEdge(4, 7);
dag.addEdge(5, 7);
dag.addEdge(6, 8);
dag.addEdge(7, 8);
dag.addEdge(7, 13);
dag.addEdge(11, 12);
dag.edgeSet().forEach(e -> {
System.out.println(e);
});
}
출력
1->2
1->3
1->4
1->5
9->5
2->6
3->6
4->6
4->7
5->7
6->8
7->8
7->13
11->12
들어가다 https://www.draw.io/ 메뉴 '도형 조정' - > '삽입' - > '고급' - > '텍스트 에서...' 를 찾 습 니 다.팝 업 대화 상자 에 있 는 select 드 롭 다운 상자 에서 '아이콘' 을 선택 하면 다음 과 같은 범례 코드 가 있 습 니 다.
쓰다
;Example:
a->b
b->edge label->c
c->a
우 리 는 방금 자바 에서 출력 한 내용 을 안에 업데이트 합 니 다. 다음 과 같 습 니 다.
쓰다
;Example:
1->2
1->3
1->4
1->5
9->5
2->6
3->6
4->6
4->7
5->7
6->8
7->8
7->13
11->12
삽입 단 추 를 누 르 면 데 이 터 는 jgraph 에서 drauio 로 가 져 와 시각 화 됩 니 다.
가 져 온 후의 그래 픽 레이아웃 이 불편 해 보일 수 있 으 므 로 조정 할 수 있 습 니 다.메뉴 '도형 조정' - > '레이아웃' - > '수직 흐름' 에 들 어가 면 레이아웃 을 조정 할 수 있 습 니 다.이곳 에서 다른 방식 의 레이아웃 조정 도 할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.