我正在寻找一种比基本JavaFx图表提供更多功能的方法。
我已经看到一些人使用覆盖透明背景的多个图表。我不确定这是否适用于JavaFx的未来更新。
现在我正在寻找建议。提前谢谢!
答案 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
该包装器应用于我的主项目 Treez ,以便为Eclipse中的科学绘图提供一些原子:
https://github.com/stefaneidelloth/treez
如果您不需要在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:
或直接使用一些JavaScript库: