문제

보았습니다 약간 제안 그래프의 경우 내 문제에 가장 적합한 점이 궁금합니다.

방향 그래프를 브라우저에 표시되는 서블릿/사진으로 렌더링하고 싶습니다. 어떤 종류의 위치 최적화가 있어야합니다. 스윙에 대한 의존성이 선호되지 않습니다. 그래프의 구조는 비즈니스 로직에 의해 결정되므로 알고리즘은 중요하지 않습니다. 가장자리에 라벨을 추가 할 수있는 것이 바람직합니다. 이것을 PNG/SVG로 제공 할 수 있다면 최적입니다.

어떤 라이브러리/서비스를 추천 하시겠습니까?

설명 :

1) 질문은 그래프에 관한 것입니다. 지시 된 acyclic 그래프 - 아니다 - 차트.

2) Flot, Google 차트 - 그래프를 플로팅 할 수 없거나 차트 만 표시 할 수 없거나 놓친 것이 있습니까?

3) 아니요 나는 상호 작용이 필요하지 않습니다

5) 이미지가 로컬로 호스팅되지 않는 온라인 서비스를 사용하는 것이 좋습니다.

편집 : 그래프/차트 용어를 명확히하기 위해 Wikipedia에 링크가 추가되었습니다.

도움이 되었습니까?

해결책

한 줄의 코드로 모든 문제를 해결하려는 Magic Framework에 대해들을 수있는 몇 주를 기다리는 것 외에도, 당신이 원하는 것을 정확하게 수행하기 위해 코드를 직접 작성하는 다른 옵션도 있습니다 ... (나는 아닙니다. 10 분의 작업이라고 말하지만 아마 1 ~ 이틀 일 것입니다. 2 주 전에 질문을 게시했습니다 ...)

예를 들어 위키 백과 항목에서 보았습니까? 힘 기반 알고리즘- 의사 코드와 도움이 될 수있는 몇 가지 링크가 있습니다.

나는 그것이 문제 인 레이아웃 알고리즘이라고 가정하고, 버퍼 페디 마법을 생성하고, 그래픽 컨텍스트로 그리기, png를 인코딩하고 소켓 아래로 보내는 문제가 아닙니다. 당신은 정말로 프레임 워크가 필요하지 않습니다 저것 조금 생각하지 않습니다.

다른 팁

보세요 GraphViz

yfiles 이것에 유용 할 수 있습니다.

GraphViz의 도트 구성 요소는 어떻습니까? 그래프 (차트가 아님), PNG 및 SVG에 대한 출력을 생성하고 라벨링 가장자리를 지원합니다. 필요한 이미지를 생성하기 위해 DOT로 껍질을 벗기고이를 참조하는 IMG 태그를 반환 할 수 있습니다. 또는 필수 그래프를 생성하는 URL을 참조하거나 캐시 된 사본을 검색하는 URL을 참조하는 IMG 태그를 반환 할 수 있습니다. 다음은 DOT 정보입니다.

http://www.graphviz.org/pdf/dotguide.pdf

http://www.graphviz.org/webdot/

노력하다 AISEE. 모든 종류의 웹 기반 응용 프로그램에서 사용됩니다. 데이터 수집, 정적 프로그램 분석, 매트릭스 시각화, 네트워크 분석, 그리고 무엇이. 일부는 또한 일부에 의해 사용됩니다 미디어 위키 그들의 그래프 레이 아웃 백엔드로.

그들은 큰 데이터베이스를 가지고 있습니다 샘플 그래프 aisee.com에서. 확인 해봐. Edge 레이블, 매핑 된 SVG 및 HTML로 내보내기를 지원하며 스윙에 의존하지 않습니다.

우리는 창조합니다 mxgraph 그러한 요구 사항에 대해. 우리는 실제로 2006 년에 그것을 발표했지만이 질문을 알아 차리는 데 시간이 걸렸습니다 ...

을 위한 서버 측, 노력하다 , 당신은 그것을 달릴 수 있습니다 납결 염색법 아름다운 SVG 또는 PNG 파일을 생산합니다. Jung은 멋진 디자인과 매우 강력한 레이아웃 알고리즘을 가지고 있습니다 ...

또한, 당신이 그것을 언급하기 때문에 "An을 사용하는 것은 괜찮을 것입니다 온라인 서비스", GraphViz는 호출 된 서비스를 제공합니다 웹 도트 그래프를 렌더링합니다.

이 라인을 따라 다른 사람들도 있습니다 ... 예를 들어 http://graph.gafol.net/ (다운 된 것 같다)

고객 입장에서:

  • 노력하다 http://arborjs.org/ 최소 (ISH) 라이브러리의 경우 레이아웃 전용입니다. 사용하는 것은 자신의 렌더링 루틴 (Div, Canvas, SVG, Paper.js, Processing ... 등)을 선호하는 것을 좋아합니다.

  • 나도 좋아한다 http://sigmajs.org/ 보다 완전한 접근 방식을 위해서는 터치 지원, 플러그인, 파일 형식 등을 빌드하십시오.

흥미롭게도, Eclipse 프로젝트에는 순수한 Java에서 SWT/JFace 구성 요소/프레임 워크를 표시하고 생성 (가져 오기/내보내기) GraphViz의 'DOT'형식을 생성 할 수 있습니다.

Zest (홈 페이지 및 다운로드 링크)

보다 http://wiki.eclipse.org/graphviz_dot_as_a_dsl_for_zest 사용 예제.

Zest는 Eclipse 플러그인으로 선전되지만 Dot-Manipulation API는 독립형으로 사용하고 Eclipse 설치에 사용될 수 있습니다.

건배

부자

sigma.js를 시도 할 수 있습니다. http://sigmajs.org/

웹에 큰 그래프를 표시하기 위해 JavaScript의 가볍고 오픈 소스 라이브러리입니다.

JPGD Java의 GraphViz 파서입니다. 그것은 a입니다 작은 버려졌지만 코드는 훌륭하고 명확하며 버그를 찾으면 저자가 기여한 수정을 수락 할 것이라고 확신합니다.

파서로 광고되었지만 발전기이기도합니다. 그래프를 노드 및 에지 객체의 모음으로 빌드 한 다음 Graph.toString ()을 사용하여 .dot을 얻을 수 있습니다. 이것을 그래픽으로 얻는 것은 GraphViz DOT 실행 파일의 간단한 쉘입니다.

또는 DOT는 자신을 생성하기가 매우 쉽습니다. 가장 간단한 경우, 그것은 화분에 담긴 헤더를 작성하는 문제 일뿐입니다.

digraph myGraph {

... 에지 당 하나의 에지 정의가 이어집니다

node1 -> node2 ;

... 그 뒤에 닫는 버팀대가 이어집니다

}

그래서 나는 주어진 모든 답과 링크를 모두 가져갔습니다. 선문/플레어 최적의 선택으로. 그들은 매우 매력적인 가시 화를 가지고 있으며 그래프를 지원했습니다.

어쩌면 체크 아웃 할 수도 있습니다 Google 차트?

Batik과 함께 SVG를 사용할 수 있습니다. 그래픽을 표시하기 위해 이것을 여러 번 사용했습니다. Java 1.5의 Batik은 매우 빠릅니다. 이 솔루션을 사용하면 스윙에 의존하지 않고 Java로 그래프를 프로그래밍 할 수 있습니다. 원하는 위치에 레이블을 추가하고 서블릿으로 호스팅하여 PNG 또는 SVG로 표시 할 수 있습니다.

SVG에서 그래프를 만들 수 있습니다 (XML 문서).
너는 사용한다 납결 염색법 SVG- 문서를 PNG/JPG 이미지로 변환합니다.
서블릿을 사용 하여이 이미지를 브라우저로 다시 스트리밍 할 수 있습니다.

Java에서는 SVG (= xml) 문서를 작성합니다. SVG 그래프의 샘플은 여기에서 찾을 수 있습니다.지시 된 그래프 그리고 여기: 간단한 지시 그래프

보다 이 질문, 특히 Stephan의 Prefuse에 대한 답변. 상호 작용이 필요하지 않다고 읽었지만 프리 피스는 여전히 유용 할 수 있습니다.

나는 진심으로 추천 할 수 있습니다 플로트 - 훌륭한!

보다 여기에 예.

JFREECHART 가고 싶은 방법 일지 모르지만 차트와 그래프를 구별합니다. 아마도 당신이 그 의미를 설명 할 수 있습니다. 나는 보통이 용어를 동의어로 사용했습니다. :)

JFreechart는 파이 및 다이얼과 같은 재미있는 산란, 바 및 라인 그래프를 가지고 있으므로 아마도 당신에게 효과가있을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top