免费的Java数据可视化库?

58

我正在寻找一个免费的Java库来可视化一些数据。我想做类似于以下两张图片的事情。有可能吗?我最初想到的是prefuse,但自2007年以来就没有继续开发了。还有其他的库吗?

enter image description here

enter image description here


1
事实上,Prefuse已经被移动到github。你可能想再看一下。 - edwardw
但是如果我查看主页,最新版本仍然是2007年发布的。 - RoflcoptrException
我增加了另一个赏金以寻找我问题的第二部分的答案。我仍在寻找时间轴库。 - RoflcoptrException
11个回答

26

你有没有考虑过查看GraphViz

Graphviz(缩写为图形可视化软件)是由AT&T Labs Research发起的一套开源工具,用于绘制在DOT语言脚本中指定的图形。它还提供了用于软件应用程序使用这些工具的库。Graphviz是根据Eclipse Public License许可的免费软件。

你可以做一些相当酷的事情:

enter image description here

enter image description here

enter image description here


我已经给这个答案颁发了悬赏。但是我会为问题的第二部分再花费一个悬赏。我仍在寻找一个时间轴库。 - RoflcoptrException

9

尝试使用Protovis,它似乎是Prefuse的继任者,可能是一个不错的替代选项。它使用JavaScript编写,但有Java Graphical Toolkit可用。

D3.js今天是Protovis的继任者。(由Protovis推荐。)


3
我已经考虑过Protovis,但这句话有点吓人:“请注意,这是一个研究原型!它不打算成为一个生产就绪的工具包,我们目前也不提供软件支持。代码还缺少许多熟悉于Protovis-Javascript用户的库例程。” - RoflcoptrException
@CostisAivalis 但是我们如何在Java中使用D3呢? - Dmitry Avtonomov
@chhh:有一个GWT包装库可以使用d3.js库。https://github.com/gwtd3/gwt-d3 - Costis Aivalis
@CostisAivalis 哦,我是指一个Java Swing的解决方案。 - Dmitry Avtonomov
JavaScript 是在浏览器中运行的,Swing 则是在桌面上运行的。由于浏览器在桌面上运行,因此如果您将浏览器添加到桌面应用程序中,则可以运行 JS。 https://www.teamdev.com/jxbrowser 可能是您需要的。 - Costis Aivalis
显示剩余2条评论

9

我找不到一个像我需要的那样做某件事情的例子。 - RoflcoptrException
@Roflcoptr 这是我提到的一个例子:http://code.google.com/apis/chart/interactive/docs/gallery/annotatedtimeline.html - Adel Boutros
我授予了这个答案的赏金,因为它是我能使用的最接近的答案。但它仍然不是我正在寻找的东西。我不想将值可视化到时间线上,而是事件或类似内容。所以我不需要图表。 - RoflcoptrException
@Roflcoptr 试着修改代码并查看文档。肯定有一种方法可以修改图表上显示的内容以及它的呈现方式。 - Adel Boutros

5

4

你可以考虑使用另一个库JGraph。它主要用于图形,但你可以轻松地将时间轴作为其中的一个。该项目可以在GitHub上找到https://github.com/jgraph/jgraphx,并且最近进行了更新。


4

4
另一个选择是使用JUNG框架。如果你也在寻找基于浏览器/JavaScript的库,可以看看three.js

3

你如何使用它生成时间线或图表? - RoflcoptrException

3
您无疑需要进行大量定制,但是Google的图表工具提供了很多灵活性和选项(http://code.google.com/apis/chart/)。我没有做过像您上面贴出的图片那样复杂的东西,但使用Google Visualization API设置各种图表相当容易。
也许值得将您的图像发布到Google Visualization API组(http://groups.google.com/group/google-visualization-api?pli=1),以查看是否有人使用可视化API完成了像您提出的那些更复杂的图表...

2

如果你在明确寻找一个swing库,可以忽略这个答案!但在web世界中,RaphaëlD3.js是我最喜欢的。后端可以用java实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接