2008-08-09 15 views
39

최근 자바 프로젝트에서 무료 Java 기반 실시간 데이터 플로팅 유틸리티가 필요했습니다. 많이 검색 한 후 NOAA에서 Scientific Graphics Toolkit or SGT이라는 도구를 발견했습니다. 꽤 견고한 것 같았지만, 우리는 몹시 구성 할 수 없다는 것을 알았습니다. 또는 최소한 우리의 요구를 충족시킬 정도로 구성 할 수는 없습니다. 우리는 자바 코드를 깊게 파고 결국 코드를 ​​리버스 엔지니어링하고 줄거리 도구를 보이게하고 주위를 변경하여 우리가보고 싶고 행동하는 방식대로 행동하게 만들었습니다. 물론 이것은 NOAA로부터 향후 업그레이드를위한 기회를 죽였습니다.자유로운 Java 데이터가 라이브러리를 플로팅하고 있습니까?

그래서 무료 또는 저렴한 Java 기반 데이터 플로팅 도구 또는 라이브러리를 사용합니까?

추가 정보 : JFreeChart 제안 해 주셔서 감사합니다. 나는 그들의 웹 사이트를 체크 아웃하고 아주 좋은 데이터 차트 및 유틸리티를 계획하는 것 같습니다. 필자는 원래의 질문에서 실시간 데이터 플롯을 구체적으로보고 있다고 분명히해야했습니다. 나는 그 점을 명확하게하기 위해 위의 질문을 수정했다. JFreeChart support for live data is marginal at best, though 인 것으로 보입니다. 거기에 다른 제안이 있습니까?

+0

를 .. 몇 번, 그것은 좋은 발견 이후 시도 SGT 그러나 충분하지 구성 할 수 있습니다 .., 또한 파고. 또한 실시간으로 필요합니다. 귀하의 질문은 몇 년 전부터 있었으므로 지금까지 발견 된 바가 있습니까? – user978548

답변

17

여러 프로젝트에서 JFreeChart을 사용하여 성공했습니다. 매우 구성 가능합니다. JFreeChart는 오픈 소스이지만 developer guide에 대해 요금을 부과합니다. 간단한 작업을 수행한다면 샘플 코드로 충분할 것입니다. 그렇지 않으면 개발자 가이드의 $ 50이 꽤 좋은 거래입니다.

"실시간"데이터와 관련하여이 종류의 애플리케이션에도 JFreeChart를 사용했습니다. 불행히도 경쟁 조건을 피하기 위해 적절한 동기화 메커니즘을 사용하여 사용자 지정 데이터 모델을 만들어야했습니다. 그러나 JFreeChart가 여전히 나의 첫 번째 선택이 될 것입니다. 그러나 FAQ가 제시하는대로, JFreeChart는 큰 걱정거리라면 최고의 성능을 제공하지 못할 수도 있습니다.

+0

JFreeChart는 차트 업데이트 간격이 1 초 이상이면 실시간 데이터 표시에 충분합니다. –

0

이전 프로젝트에서 JFreeChart (http://www.jfree.org/jfreechart/)를 사용했습니다. 그것은 아주 좋은 내장 기능을 가지고 있으며, 디자인은 WAY 확장 성을 가지고 있기 때문에 나중에 사용자 정의 차트 주석이 필요하거나 다르게 렌더링되는 축을 원할 경우 언제든지 자신의 확장을 롤백 할 수 있습니다. 그것은 확실히 체크 아웃 할만한 가치가 있습니다.

0

저는 데이터를 기반으로 데이터 스트림과 계산을 시각화해야하는 비교적 복잡한 응용 프로그램에서 JFreeChart을 사용했습니다. 우리는 마우스로 데이터 플롯을 시각적으로 편집하는 기능을 구현했으며 매우 많은 데이터 요소 집합을 가지고있었습니다. JFreeChart가이를 잘 처리했습니다.

불행히도 나는 v0.7에 머물러 있었지만 최신 버전은 API 투명성과 관련하여 훨씬 더 좋았다. 커뮤니티는 매우 유용하며 개발자는 메일에도 응답하고 있습니다.

웹 응용 프로그램을 사용하고 있고 라이브러리를 사용하고 싶지 않은 경우 Google Chart API을 확인할 수 있습니다. 직접 사용하지는 않았지만 매우 유망한 테스트를 시작했습니다.

0

ILOG의 JViews을 확인하십시오. 많은 것들이있어서 뭔가 필요한 것일 수도 있습니다. 이 모든 것은 매우 구성적이고 매우 빠릅니다. 아니 무료.

0

실시간 플로팅의 경우 QN Plot, JOpenChart 또는 포크 Openchart2를 사용할 수 있습니다.

0

JHandles는 옥타브 (수학 패키지)의 대체 그래픽 패키지입니다. 살펴볼 가치는 있지만 옥타브만으로는 필요한 것이 없을 수도 있습니다.

-Adam

2

Live Graph 실시간 렌더링을 지원합니다.

3

방금 ​​비슷한 문제 (엔지니어링 목적으로 빠른 업데이트 데이터 표시)가 발생하여 JChart2D을 사용하고 있습니다. 매우 단순하고 약간의 단점이 있지만 꽤 빠른 것처럼 보입니다 : 저는 초당 2331 포인트 (333x7 트레이스)를 추가하고 3GHz Pentium 4에서 CPU의 1 %를 사용하는 벤치 마크 속도 테스트를 실행하고 있습니다.

+0

이것은 나에게 매우 유망 해 보입니다. 실제로 시도해 볼 시간이 없어도됩니다. –

-1

당신은 밖으로 JMathPlot

+0

자세히 설명 –

1

Plot4j 확인하려는 음모를 꾸미고 또한 실시간을 지원하는 수도 있습니다!

2

실시간 플로팅에 GRAL을 사용하고 있습니다. LGPL Java 라이브러리입니다. JFreeChart만큼 강력한 것은 아니지만 더 좋은 API를 가지고 있습니다. 매우 짧은 시간에 음모가 꾸미고 있습니다. 그들은 또한 실시간 플로팅 예제를 제공합니다.

0

PtPlot 이 좋은 선택 일 수 있습니다. 이전에는 프톨레마이오스라고 불렀습니다.

1

자바 용 라이브러리를 플로팅하는 오픈 소스에 대해 검색 할 때이 질문이 발견되었습니다. 여기에 게시 된 답변에 만족하지 않아 문제에 대한 추가 연구를 수행했습니다. 이 질문이 2008 년에 다시 게시되었지만 이는 여전히 누군가에게 흥미로울 수 있습니다. 여기

Open Source Charting & Reporting Tools in Java

1

http://autoplot.org/의 목록입니다 실시간으로 업데이트 할 수 있으며 과학적인 플롯의 많은 종류를 만들 수 있습니다.

플롯을 업데이트하려면 데이터 파일의 URL을 지정하고 &filePollUpdates=1&tail=100을 추가하십시오. http://autoplot.org/cookbook#Loading_Data

0

jcckit이 실시간 플로팅을 처리 할 수 ​​있습니다. 그것은 사용하는 곰이다.

비 - 실시간 플롯을 위해 매우 간단한 래퍼를 만들었습니다. 기본 복잡한 인터페이스를 직접 사용할 수도 있습니다.

https://bitbucket.org/hughperkins/easyjcckit

1

워털루 과학 그래픽 새로운 LGPL 프로젝트입니다. 데이터 객체는 관찰 가능하며 실시간 플로팅 시나리오에서 업데이트 될 수 있습니다. 세부 사항은 http://waterloo.sourceforge.net/

몇 스크린 샷 참조하십시오 : 나는 정확히 같은 배에있어

http://waterloo.sourceforge.net/images/AnatomyZ.png

http://waterloo.sourceforge.net/images/contour.png

http://waterloo.sourceforge.net/images/errorbar.png