JavaFX 2.0可以作为科学图表包吗?

use*_*091 11 java charts javafx jfreechart google-visualization

我正在用java编写一个包含GUI的科学实验控制程序.

我帮助为此任务选择图表库.该程序将包含两种类型的图表:

  1. 具有大量数据点的折线图(在每个图中10 ^ 4-10 ^ 5点的范围内),刷新率大约每0.5-1秒一次,因此性能是一个因素.此图表必须包含具有不同缩放比例的数据点集.

  2. 没有许多数据点的散点图必须包含错误条,或某种方式指示点中的错误.优选地,在X轴和Y轴上,例如以十字线形式.

对数刻度也是必须的,一个好的缩放工具和导出工具也会很好.我更倾向于使用单个包可能的两个图表的解决方案.

从研究中我做了一个近乎完美的选择似乎是javaFX 2.0.从我读到的,它具有良好的性能,也看起来很棒,但我似乎找不到错误栏的选项.由于我根本不了解javaFX,扩展图表库以包含错误栏是多么简单,或者是否包含我未找到的包含此内容的开源添加?

另一种选择是Google图表库,它似乎具有所有必要的功能,但是我担心刷新率在第一种图表类型中会出现问题.这是一个可行的问题吗?

我使用过JFreeChart,但我对性能感到担忧,并且发现添加小的更改非常困难.这些包括在matlab创建图表后在运行时更改绘制点的颜色的方法.所有这些都需要大量额外的编码和时间消耗,我试图避免.

最实用的最后一个选项是JChart2D.它似乎拥有我需要的大多数功能,而我唯一的问题是它看起来不太好.

有人对我有任何建议吗?我计划在尽可能短的时间内对此进行编码,最糟糕的情况是我发现某些第三方软件包中的错误或我需要的选项不可用并且需要大量额外的代码,尽管它会是很高兴学到新东西.

这个决定当然可能影响我选择使用的整个GUI包,目前看来是Swing.

谢谢,

ass*_*ias 8

Java FX 2.0和JFreeChart实际上并不具有可比性.JFreeChart是Swing的图表库,它是Java中的GUI环境.而Java FX 2.0是Swing的替代品.Java的FX 2.0恰好提供了几个图表对象作为其标准库的一部分,但他们绝对不灵活/自定义在JFreeChart的那些可用.当然,Java FX 2.0使用Java,没有什么能阻止您通过扩展可用组件来编写所需的特定图表.

Java FX 2.0

  • 优点:比Swing(个人主观意见)更现代的外观和感觉,可能在几年内成为Java中的新GUI标准
  • 缺点:您将不得不花费更多时间来增强现有的图表组件,不太广泛使用=较少支持+较小社区如果您遇到困难

摇摆:

  • 优点:有大量的图表库(JFreeChart是一个非常全面的图书馆,但你提到的还有其他选择).积极和广泛的社区.
  • 缺点:我个人不喜欢外观和感觉 - 在某个阶段可能会过时,但显然不是明天.


tra*_*god 5

JFreeChart是这些用途的理想选择。因为它是开源的,所以很容易在上下文中进行测试;FastScatterPlot这里讨论。更改剧情,它已经创建后是直接的,如在这里; 和任意配色方案都是可能的,如此此处所示。