实时Java图形/图表库?

在Java图形或图表库上有一个早期的线程,其中发现JFreeChart非常好, 但是 , 如其FAQ中所述 ,它不适用于实时渲染。

任何人都可以推荐一个支持实时渲染的类似库吗? 只是一些基本的xy渲染 – 例如,从数据采集系统获取电压信号并在其到来时绘制它(x轴上的时间,y轴上的电压)。

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

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

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

只是偶然发现了如何使用visualvm图表库的描述 。 看起来很不错!

看看处理 – 它是一个基于java的开源环境,专为各种动画可视化而设计。

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

  • Java Real-Time Systems (包括演示实时和非实时,以及图表应用程序的JavaFX版本)
  • 使用多核系统进行实时Java应用程序开发
  • 加速实时任务图 (此技术在Linux上运行,但可以在支持Java 5.0和Eclipse的任何平台上进行开发。)
  • JavaFX – 饼图演示

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

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

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

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

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

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

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

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

http://jchart2d.sourceforge.net/

演示:

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

JCCkit是一个不同的好库,他们的目标是更少的内存,特别是在嵌入式环境中: https ://sourceforge.net/projects/jcckit。

小于100 kb。

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

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

这个问题已得到很好的解答: Java实时图形绘图

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