我正在寻找一个免费的Java库来可视化一些数据。我想做类似以下两个图像的事情。有可能吗?我首先想到的是prefuse,但是自2007年以来这还没有开发出来。那么任何其他的库?
答案 0 :(得分:25)
您是否考虑过查看GraphViz?
Graphviz(图形可视化软件的简称)是由AT& T Labs Research发起的用于绘制DOT语言脚本中指定的图形的开源工具包。它还为软件应用程序提供了使用这些工具的库。 Graphviz是根据Eclipse Public License许可的免费软件。
你可以用它做一些相当酷的东西:
答案 1 :(得分:9)
尝试Protovis,这似乎是Prefuse的继承者,可能是一个不错的选择。它是用JavaScript编写的,但Java Graphical Toolkit可用。
D3.js是今天Protovis的继承者。 (由Protovis推荐。)
答案 2 :(得分:9)
对于时间轴部分,您应该考虑包含带注释时间轴的Google Visualization API,...
答案 3 :(得分:5)
GraphStream是可能的。
答案 4 :(得分:4)
检查ou:
更多链接可在以下网址找到:
答案 5 :(得分:4)
答案 6 :(得分:4)
你可以考虑的另一个图书馆是JGraph。它主要用于图形,但您可以轻松地将时间轴实现为一个。该项目可以在GitHub上找到https://github.com/jgraph/jgraphx,最近更新了。
答案 7 :(得分:3)
毫无疑问,您需要进行大量自定义,但Google的图表工具提供了很多灵活性和选项(http://code.google.com/apis/chart/)。我没有像上面粘贴的图片那样做任何事情,但使用Google Visualization API设置各种图表相当容易。
在Google Visualization API组(http://groups.google.com/group/google-visualization-api?pli=1)上发布您的图片可能是值得的,看看是否有人使用Visualization API完成了更多涉及的图表...
答案 8 :(得分:3)
我很惊讶这还没有列出。我前一段时间使用了 jFreeChart :http://www.jfree.org/jfreechart/
答案 9 :(得分:2)
答案 10 :(得分:0)
如果您不介意使用javascript解决方案,timeglider就是第二个屏幕截图所需的内容。