我正在规划一个基于java的应用程序,该应用程序用于实时流/股票/外汇交易等图表。然而,我不确定哪个图表库适合这项工作。
基本上,图表功能应该与任何交易软件相同,例如:
**也可以通过在每次用户操作时创建一个新图表来完成,而不是让图表库完成工作--不过,只有在速度快的情况下才可行,参见性能要求。
*不错,但不是强制性的。
说清楚的是-我不是在寻找那些为我做这一切的魔法库。我没有问题,编写代码,以获得我的全部功能集。但是,有些特性只能由库本身可靠地实现(例如将图表坐标从鼠标单击转换为正确的数据点,因为这些坐标取决于x和y标签的大小,这意味着猜测是一种糟糕的方法),其他特性在添加时必须足够快。取决于库,这可能是不可能的。
性能是一个关键因素。我已经用matplotlib在python中完成了大部分编码。然而,图表上的蜡烛越多,得到的速度就越慢,到了这样的地步:使用多个图表,每个图表上都有足够的数据,这使得实时更新毫秒级的时间间隔变得不可能,尽管为优化代码付出了很长的努力。此外,该代码仅限于一个核心(感谢python ),不管有多少图表。因此,我拼命地寻找一个快速的解决方案,转而使用java,这是可以理解的。因此,假设同时打开10个图表,同时有几百个OHLC数据点,所有更新都不应该对性能造成重大影响,几乎没有人注意到。正如各种商业项目所显示的(例如,Oanda和Dukascopy客户端),这是可以使用java完成的。
问题是,哪个库可以完成这项任务?jFreeChart?直接绘制JavaFX图表?其他选择?
有人知道图书馆的商业项目使用什么吗?
发布于 2017-06-29 22:05:04
如果您想要使用纯Java编写的web应用程序解决方案,但使用HTML5 web标准技术在web浏览器中自动呈现,我建议查看Vaadin框架 (开放源码,免费)和Vaadin图附加(商业)。
Vaadin外接程序是一个Java包装器(将在服务器端调用),它封装在HighCharts中构建的JavaScript库(在呈现图表时使用客户端,但对Java程序员透明)。所以,大多数HighCharts通过JavaScript可以做到这一点,Vaadin可以通过JavaScript调用实现。是
使用Vaadin,您可以获得两个方面的优势:(a) Java及其许多库的所有功能、JDBC、静态类型、速度、可靠性等等,以及(b)本地使用JavaScript在浏览器中绘制图表的高性能绘图。
发布于 2020-05-27 07:22:37
使用JavaScript方法,作为Java中的web内容,您可以添加LightningChart JS。它是用WebGL制作的,与Java或其他JavaScript图表相比,性能更快。LightningChart可以实时提交多达1亿个数据点.
支持快速缩放、滚动、平移等,并自然地支持OHLC、山脉、直线系列等。

有大量的交互式实时示例这里
https://softwarerecs.stackexchange.com/questions/43240
复制相似问题