实时Java图形/图表库?

时间:2009-02-17 07:33:49

标签: java charts graph real-time

Java graph or chart library上有一个早期的帖子,其中JFreeChart被发现非常好,,如stated in its FAQ,它不适合实时渲染。< / p>

有人可以推荐一个支持实时渲染的类似库吗?只是一些基本的xy渲染 - 例如,从数据采集系统获取电压信号并按原样绘制(x轴上的时间,y轴上的电压)。

12 个答案:

答案 0 :(得分:9)

FAQ实际上说的是JFreeChart不支持硬实时制图,这意味着当新数据到达时或者在新数据到达后确定性间隔时,图表不会更新。但是我发现JFreeChart可以用于您描述的那种应用程序。你可以达到每秒1次更新,这很好。我不认为人眼可以比这更快地跟随。

如果你想要更多的东西,我怀疑你会发现任何Java(甚至是其他语言)。我们使用的操作系统并非设计为实时。您不能保证他们会在事件发生后的最短时间内做出回应。需要与硬件驱动程序紧密集成才能显示超过每秒1-10帧。

但是,如果您正确设计应用程序,操作系统将做出快速响应,您的应用程序可以轻松显示“实时”图表(意味着每秒更新一次的图表)。在紧急情况下,不要使用您的应用程序来关闭阀门!

答案 1 :(得分:7)

答案 2 :(得分:6)

偶然发现了如何使用visualvm charting library的说明。看起来很不错!

答案 3 :(得分:5)

查看processing - 这是一个基于java的开源环境,专为各种动画可视化而设计。

答案 4 :(得分:5)

好吧,如果它必须是Java,那么你可能想要研究这些。

答案 5 :(得分:5)

您可能已经找到了一个很好的解决方案,但如果没有,我最近在生成2D图表的框架上做了一些工作,允许以每秒50次以上的变化进行实时更新。

最初的意图是模仿网页滚动区域中图表记录器的外观,但我相信这种方法有更广泛的应用。

如果有人有兴趣,可以在Chart Recorder Demo找到演示。

外观由模板定义(www.journeylog.co.uk/chart/templates/chartRecorder.xml)。一个功能是能够使用ExplorerCanvas在服务器或浏览器中指定绘图。

如果有人有兴趣,我可以为它开始一个开源项目。

答案 6 :(得分:4)

实时足够快swtchart,至少在我的经验中。即使有批次的数据。不要被版本号吓跑,是的,它是一个相当新的API,但我成功地使用它没有问题。

顾名思义,它基于SWT,它使用本机操作系统绘图。此外,它还可以快速绘制一些聪明的优化,例如不绘制数据集中的所有点(请参阅大型系列示例代码段)。

答案 7 :(得分:2)

这似乎是一个很好的候选人。

http://jchart2d.sourceforge.net/

演示:

http://jchart2d.sourceforge.net/applet.shtml

答案 8 :(得分:2)

JACket是一个非常优秀的图书馆,目标是减少内存,特别是在嵌入式环境中:https://sourceforge.net/projects/jcckit

小于&lt; 100 kb。

答案 9 :(得分:1)

您可以挖掘NetBeans的源代码。分析器可以实时绘制各种内容,例如内存使用情况。

答案 10 :(得分:1)

SWT XYGraph可以使用您自己的数据提供者绘制数据,因此您可以创建提供实时数据的实时数据提供者。使用SWTChart和JFreeChart,您必须为它准备整个数组。

答案 11 :(得分:0)

这个问题在以下方面得到了很好的回答: Java Real time graph plotting

由于VisualVM包含Charting API,并且此API包含在JDK中,因此您可以使用良好/快速的图表API。