我有一个简单的Vaadin Web应用程序,我正在寻找一个简单的图形API,只需处理最少量的数据(最多数百个数据点),并允许我在Vaadin中显示简单的2d图形面板对象。
出于安全原因,我需要它是一个Java API,而不是谷歌图表等外部服务。
有没有人有任何好的建议?
编辑:我选择使用Invient Charts(用于HighCharts的Vaadin附加包装器)因为我已经拥有HighCharts许可证。如果我没有许可证,我可能会使用基于GWT的简单API,例如gchart
EDIT 3/29/2012:使用Invient Charts推出了Vaadin应用程序的生产版本。对最终结果非常满意。您可以使用纯Java代码控制High Charts功能的几乎所有方面。有几件事情有点像“hacky”,比如格式化点的显示方式和鼠标悬停在你需要传递匿名javascript函数作为字符串的数据点上。初始设置也有点冒险;我必须覆盖我的ApplicationServlet以确保正确导入javascript库并将它们放在项目结构中的正确位置并未完全记录。总的来说,将图形集成到我的Vaadin应用程序中相对无痛。强烈推荐。
答案 0 :(得分:4)
JFreeChart应该这样做:http://www.jfree.org/jfreechart/。这是我有经验使用的唯一图表包,所以我无法给出任何与其他人比较的方式的反馈,但我知道它被Java开发人员广泛使用 - 我相信最常用的所有免费的图表包 - 而且它通常都非常受尊重。 JFreeChart还拥有LGPL许可证,这意味着它可以用于专有/商业软件,而具有GPL许可证的软件可以免费使用,但不作为任何商业产品的一部分分发。不确定这是否与此相关,但也许有帮助
答案 1 :(得分:3)
Invient Charts附加组件真的很酷,但是你想在生产中使用它,作为商业应用程序的一部分,你应该为它购买许可证。我正在使用这个addon(并且它具有LGPL 3.0许可证),因为它具有较少的Invient Charts功能,但是对于我的需求就足够了。这个插件的一大优点是生成字符需要“无互联网连接”,而不是使用谷歌API生成图表的其他图表插件。
答案 2 :(得分:2)
如果JFreeChart不能解决问题,请尝试Invient Charts。它使用Highcharts JavaScript库,需要license用于商业用途。它看起来很棒,而且很容易用来创建图表。