什么是最好的开源 Java 图表库? (除了jfreechart)[关闭]

Posted

技术标签:

【中文标题】什么是最好的开源 Java 图表库? (除了jfreechart)[关闭]【英文标题】:What is the best open-source java charting library? (other than jfreechart) [closed] 【发布时间】:2010-09-20 21:57:51 【问题描述】:

为什么没有更多易于使用的开源 Java 图表库?该领域唯一成功的开源项目似乎是 jfreechart,它甚至没有任何可用的文档或示例。

【问题讨论】:

Java Swing 的免费 Java 图表框架:frontangle.com/#/icharts。你可以在这个中做大多数类型的图表 【参考方案1】:

charts4j 是一个图表 API。它使开发人员能够通过简单直观的 Java API 以编程方式创建 Google Chart API 中可用的图表。

免责声明:我写了charts4j。我们将在接下来的几周内发布另一个主要版本。

【讨论】:

干得好!唯一的缺点是需要互联网连接,虽然我不记得我最后一次断开连接是什么时候。 ;-) @pyinsci:出于安全原因,一些商店阻止服务器连接到外部互联网服务器(即使服务器可以从互联网访问)。 请注意,Google 静态图表 API 自 2012 年 4 月 20 日起已弃用 另一种不需要连接到外部 Internet 服务器的 API 是 XChart。 如果你的目标是网络浏览器,你可以看看ZK Charts。【参考方案2】:

它们并不多,因为它们会与JFreeChart 竞争,这太棒了。您可以通过下载developer's guide 获取文档和示例。如果您搜索它们,还有大量免费的在线教程。

JFreeChart - Tutorial Introduction to JFreeChart

【讨论】:

对 jfreechart 的一个非常有用的贡献是一个简单的 API,它可以让你通过一个简单的函数调用生成一个绘图,如下所示:plot(array) 并获得一个图表对象作为回报,你可以进一步自定义,即添加标题、网格线等... 对于某些事情(高速数学绘图)jfreechart 是平庸的,不是很棒。 我没有,不是在 Java 中。我发现 JChart2D 比 JFreeChart 更好,但它也有其局限性;对于一个项目,我最终制作了自己的图形库,这是一次痛苦的经历,但它满足了我的需求。我希望 Python 的 matplotlib 的一个端口可以在 Java 中使用。 是的,以 65.00 美元的价格下载开发者指南.... 将 JFreeChart 称为“真棒”是夸大其词。 “简单的东西很棒”可能更准确。 +1 用于 Java 的 matplotlib 克隆【参考方案3】:

EasyCharts 是商业的,所以我不能在我的项目中使用它。我改用 GRAL 图形库。我发现它很容易定制,并且像 JFreeChart 一样在 LGPL 下获得许可,因此您可以免费使用它:

http://trac.erichseifert.de/gral

【讨论】:

我知道为时已晚,但我正在搜索文档,但找不到。有的话可以分享一下吗? 查看冰山图:frontangle.com/icharts 我创建了它。我认为它与 JFreechart 和所有其他东西一起出现。【参考方案4】:

好问题,前几天我只是在寻找 JFreeChart 的替代品。 JFreeChart 非常出色且非常全面,我已经在多个项目中使用过它。我最近遇到的问题是,这意味着将 1.6mb 的库添加到 50kb 的小程序中,所以我正在寻找更小的东西。

JFreeChart FAQ 本身列出了备选方案。与 JFreeChart 相比,它们中的大多数都非常基础,有些非常难看。最有前途的似乎是Java Chart Construction Kit 和OpenChart2。

我还发现了EasyCharts,这是一个商业产品,但在某些情况下似乎可以免费使用。

最后,我回到了久经考验且值得信赖的 JFreeChart 并使用 Proguard 将其缩减为更易于管理的大小。

我建议您再看看 JFreeChart。用户指南只能购买,但demo 显示了可能的情况,并且很容易从API documentation 中找出方法。基本上,您从ChartFactory 静态方法开始,然后将生成的JFreeChart 对象插入ChartPanel 以显示它。如果您遇到困难,我相信您会在 *** 上获得一些问题的快速答案。

【讨论】:

我围绕 java 图表构建工具包创建了一个简单的“绘图”包装器,它非常易于用于简单绘图bitbucket.org/hughperkins/easyjcckit【参考方案5】:

对于动态二维图表,我一直在使用JChart2D。它快速、简单并且会定期更新。作者很快就回复了我的一份错误报告和一些功能请求。在我们公司,我们更喜欢它而不是 JFreeChart,因为它是为动态使用而设计的,与 JFreeChart 不同。

【讨论】:

【参考方案6】:

你可以试试Jzy3d。它有助于绘制简单的 3d 图表(表面、散点图、条形图等),并且有很多用于自定义轴、刻度等布局的选项。wiki 上有很多示例和文档。

它是免费和开源的。

干杯,

马丁

【讨论】:

【参考方案7】:

镇上有一个新的图表库:JChartlibJChartLib http://freshmeat.net/projects/jchartlib

【讨论】:

看起来很棒!!轻量级且无依赖,哇,干得好。我看了一下wiki,很简单。我的问题:它是否允许在 X 轴上使用类别而不是数值? 哇,非常感谢您的评论。线图中的系列数量实际上不受限制。它可以绘制任意数量的图表。我刚刚发布了一个能够将图表保存为 jpg 或 png 文件的新版本。更多条形图、蛋糕图、雷达图等图表类型正在规划中。 好的,让我在它变老之前试试这个......:D 它是 GPL。请问你能把它做成LGPL吗? (或 Apache 2,或 MPL) 我会考虑使用除 jfreechart 之外的其他图表库的主要原因是,如果有一个图表库(i)由社区维护(ii)有关于如何免费使用它。不幸的是,jchartlib 在这两点上都没有优势:-(【参考方案8】:

有 JChart,它完全是开源的。我不确定您正在绘制什么以及如何绘制它(servlet、swing 等),所以我会说只是看看几个不同的,看看哪个适合你。

http://sourceforge.net/projects/jchart/

我也使用过 JGraph,但我只使用了他们的商业版本。然而,他们确实提供了一个开源版本:

http://www.jgraph.com/jgraph.html

【讨论】:

【参考方案9】:

我找到了这个框架:jensoft sw2d,免费用于非商业用途(双重许可)

http://www.jensoft.org

问候。

【讨论】:

本网站提到 sw2d 是使用 LGPL 授权的;在开源和商业工具中都可以免费使用吗?【参考方案10】:

我过去使用过 EasyCharts,它名副其实。它不如 JFreeChart 强大,但 EasyCharts 的 JAR 比 JFreeChart 小得多。

【讨论】:

以上是关于什么是最好的开源 Java 图表库? (除了jfreechart)[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

读Java性能权威指南(第2版)笔记24_ Java飞行记录器JFR

用于创建图形的 Java 库 [关闭]

使用JCMD采集JFR

JFR 使用记录

什么是最好的 java 图像处理库/方法? [关闭]

使用 Java 进行树可视化 [关闭]