我目前正处于新项目的启动阶段。它是一个数据可视化项目,我想开发一个可以显示数据的应用程序(无论它来自哪里)。
现在,我正在尝试找到一个可以使用的可视化库。你推荐哪一个?
对我而言,主要的库看起来像是javascript(D3.js)。我想开发一个桌面应用程序,但也许我应该面对它并切换到基于Web的应用程序?
我有java,python和C#的经验。
答案 0 :(得分:3)
在开始提供解决方案列表之前,我建议您自问以下问题:
我会尝试根据上述问题的答案将主要部分的决策分组 这是基于我所知道的JS库的整体解释,但一般话语将适用于任何语言(我希望)。
另外请注意,如果您必须向客户发送可视化,那么您也可能提供支持,因此在这种情况下,社区支持可能不适合您。
对于条形图/馅饼/直方图,有很多库可以在几行中创建非常酷的东西
您可以开始查看Google charts
以获取简单且相对可自定义的图表,通过vega
并以chart.js
之类的解决方案结束,这些解决方案是在d3.js
之上构建的库。
所有这些图书馆都是免费的,最后两个图书馆都有开源许可证
还有HighCharts
和Tableau
提供了一个商业解决方案,如Google Chart,更具个性化。
如果您需要网络可视化库,我建议SigmaJS
和KeyLines
虽然前者非常适合简单的网络可视化,但第二个也有更高级的工具,如Combos和SNA指标,以创建增强的即时。
SigmaJs既是免费的,也是开源的,而KeyLines则拥有商业许可。
要创建地理类型的可视化,我建议使用MapBox
和CartoDB
来提供创建地图的好工具。它们建立在leaflet.js
之上。
在这种情况下,许可证是商业许可证,同时它们还为小型开发商提供免费/廉价帐户。
如果您需要进行3D可视化,我认为答案是诚实的:Three.js
虽然你可以找到大量的例子,但如果你不是矩阵或OpenGL的密友,有时创建一个很酷的可视化可能需要很多时间......
Three.js
是一个免费的开源库。
上面提到的所有库都允许你将回调绑定到事件,一些绑定到特定的,另一些绑定到高级的。
如果您正在寻找更具体的内容 - 这样的时间序列等等 - 您也可以找到其他特定的库。
嗯,在这种情况下,我会推荐上面的所有开源库,以及以下内容:
nvd3.js
构建于d3.js
之上,与chartjs
或vega
等解决方案相比,您可以获得更多自由。免费开源。VivaGraph.js
用于网络可视化解决方案。免费开源。leaflet.js
用于地理资料 - 包含所有插件世界。免费开源。 JS中有通用可视化项目的库,例如d3.js
,Raphael.js
,processing.js
和paper.js
,它们可以让您创建基本上所有类型的(基于Web的)你想要的可视化与不那么明显的语言知识 - Javascript - 和框架本身
时间:很多时间取决于你想到的复杂性。
请注意 Processing是上面JS版本的Java(类似)父级,是基于Web的解决方案的一个很好的替代方案。
我是Keylines开发团队的成员。
以下是特定语言库的一些答案:
* Python viz library
* Java viz library
答案 1 :(得分:1)
如果您使用桌面选项,JFreeChart FAQ中有一个免费/开源Java图表库列表。我希望你当然会选择JFreeChart。
如果您选择网页选项并想要3D图表,请查看Orson Charts for HTML5(非开源,但您可以使用在图表上添加指向object-refinery.com的链接的免费版本)
答案 2 :(得分:0)
如果您想要在图表中可视化您的数据,那么您可以使用Charts.js或http://www.chartjs.org/或highcharts。这可能有助于您在网络上以grafical格式表示数据。