JavaFx中的高级图表或绘图?

时间:2014-10-23 14:41:24

标签: charts javafx real-time javafx-8

我正在寻找一种比基本JavaFx图表提供更多功能的方法。

  • “实时”绘图< 50分分为多个分散系列
  • 向散点图中的点添加自定义文字标签
  • 在图表中绘制一些线条
  • 可能是单个散点的自定义颜色

我已经看到一些人使用覆盖透明背景的多个图表。我不确定这是否适用于JavaFx的未来更新。

现在我正在寻找建议。提前谢谢!

2 个答案:

答案 0 :(得分:0)

我没有确切的解决方案,但我有类似的需求。我发现大多数编程语言中的图表库相当差。

然而,我发现JavaScript有很多选择好的图表(绘图)库。

我的建议是使用webview,然后使用JavaScript和html使用像d3或dimple这样的库来显示图表。如果您不知道任何CSS / html / JavaScript,可能会有学习曲线。

答案 1 :(得分:0)

我花了很多时间寻找一个与Eclipse公共许可证兼容的免费Java绘图库(JFreeChart不兼容),支持SVG导出(JavaFx图表没有),让我详细说明图表。绘图功能应该类似于基于python和QT的免费科学绘图工具 Veusz 的功能。例如,Veusz允许设置次要刻度的方向和大小以及我想要调整的其他所有内容。

我使用了JavaFx的图表功能,并试图将JavaFx的转换器写入 SVG ...并在遇到一定程度的挫折后停止: https://github.com/stefaneidelloth/JavaFxNodeToSvg

最后,我决定编写 javafxd3 ,这是基于WebView和gwt-d3代码的d3.js的Java包装器:

https://github.com/stefaneidelloth/javafx-d3

enter image description here

该包装器应用于我的主项目 Treez ,以便为Eclipse中的科学绘图提供一些原子

https://github.com/stefaneidelloth/treez

Treez Eclipse plugins

如果您不需要在Java和JavaScript之间传输大量数据,那么javafxd3运行良好。 WebView存在一些性能问题/限制,可能与更高级的应用程序相关。看看javafxd3的演示套件,了解这些限制并阅读

Performance of WebView in JavaFX

使用javafxd3的包装策略,还可以为您的JavaFx应用程序使用基于d3.js的plotly.js和其他高级JavaScript绘图库

在过去两年中,JavaFx没有太大进展。 SceneBuilder已被Oracle抛弃,而JavaFx可能是一个死胡同。如果JavaFx的图表功能不符合您的需求,并且您不想使用我的 JavaScript嵌入式工作javafxd3 ...请检查 JFreeChart 是否满足您对许可的需求和功能:

http://www.jfree.org/jfreechart/

如果您实际上不限于Java ,我会推荐Veusz / Python:

https://veusz.github.io/

或直接使用一些JavaScript库:

https://d3js.org/

https://plot.ly/javascript/