可视化设计数据分析统计图形框架总结
这些框架,类库或者工具是从30多款主流软件分析对比筛选得出,读者可以根据自己需要进行进一步筛选。
一. Flex:
Flex是什么?
Flex 是一个免费的开放源框架,可用于构建交互性较高、具有表现力的 Web 应用程序,这些应用程序一致地部署在所有主要浏览器、桌面和操作系统中。Flex 提供一个现代、基于标准的语言和编程模型,该模型支持公共设计模式。使用基于 XML 的声明性语言 MXML 描述 UI 布局和行为,使用面向对象的 ActionScript 3.0 编程语言创建客户端逻辑。
基于什么技术?
是一门独立的语言。基于Eclipse 的开发工具,支持智能编码、交互式遍历调试以及可视设计 RIA 的用户界面布局、外观和行为。FlashBuilder 4 包含整个 Flex 框架,包括编译器、组件库和调试器。其中组件库非常丰富,拖拽可以搞定。
使用难易程度?学习成本高低?
flex通过HTTPService和后端java、php、.net等后端语言交互。通过fb创建flex project,观察目录结构及其文件。
mxml文件: XML的声明性语言MXML描述UI布局和行为,类似与HTML(DIV+CSS);
as文件:用于编写客户端(浏览器端)的逻辑,类似与JavaScript;
swf文件:用于生成必须的FLash模板。
学习成本较高。
学习资料是否完备?
学习资料完备。
适合在什么环境下使用?
适合实现UI效果,拓扑图,报表。
输入输出?
业务逻辑端拼xml string,向Flex端下发xml数据流。
输出flash。
是否开源?是否免费?
开源,免费
优点缺点?
优点:界面漂亮,交互性强,部署更新方便,支持多种服务器语言(java)以及主流框架(Spring,Hibernate)。
缺点:加载慢,运行慢,内存占用多。
二. Fusioncharts(flash)
FusionCharts是什么?
FusionCharts是一个Flash的图表组件,它可以用来制作数据动画图表,其中动画效果用的是Adobe Flash 8 (原Macromedia Flash的)制作的flash ,FusionCharts可用于任何网页的脚本语言类似于HTML , .NET,ASP , JSP, PHP , ColdFusion等,提供互动性和强大的图表。使用XML作为其数据接口, FusionCharts充分利用流体美丽的Flash创建紧凑,互动性和视觉逮捕图表。
基于什么技术?
基于flash。
使用难易程度?学习成本高低?
很简单,只要将数据流输出到Web绑定到FusionCharts上即可。学习成本较低。
学习资料是否完备?
资料丰富。
适合在什么环境下使用?
图形报表。
输入输出?
输入:Json,XML数据流
输出:falsh
是否开源?是否免费?
收费,但是有免费版本。开源。
优点缺点?
优点:动画和交互图,易于使用,降低服务器负载,大量图表类型,支持钻取,锚定,放大。兼容浏览器,跨服务器语言。
缺点:收费。
三. Open Flash Chart(flash)
OpenFlash Chart是什么?
OpenFlashChart是一款开源的以Flash和Javascript为技术基础的免费图表,用它能创建一些很有效果的报表分析图表。Open Flash Chart2是依据Open Flash Chart1.x完全重新构建的一个Flash图表绘制组件。与1.x版本最大不同之处在于把数据格式改成JSON,以实现一些更酷的功能。该版本全部采用Actionscript3开发,Adobe Flex编译。
GoogleCode社区的一款开源插件为Java开发者使用OFC提供了JSON生成的专用工具,那就是jofc2,我可以使用jofc2采用类似JFreeChart的方式来组织代码,大大提升开发效率。该项目的地址是:http://jofc2.googlecode.com
项目按照Struts2的开发标准搭建,然后把OFC开发所需的flash文件,页面显示Flash的支持文件swfobject.js放到发布目录的相应位置,再将jofc2和其依赖的xstream的jar包放到WEB-INF/lib下并加入编译路径即可。
基于什么技术?
基于flash。
使用难易程度?学习成本高低?
很简单,只要将数据流输出到Web绑定到OpenFlashChart上即可。学习成本较低。
学习资料是否完备?
资料丰富。
适合在什么环境下使用?
图形报表。
输入输出?
输入:Json,XML数据流
输出:falsh
是否开源?是否免费?
免费。开源。
优点缺点?
优点:动画和交互图,易于使用,降低服务器负载,大量图表类型。兼容浏览器,跨服务器语言。
缺点:缺少高级案例。
四. JavaScript Infovis Toolkit(js)
JavaScript Infovis Toolkit是什么?
JavaScript Infovis Toolkit提供了用于创建交互式数据可视化的Web工具。该工具包实现了像树形图一样可视化信息的高级功能,它是基于空间树而改编的,实现了分叉树(hyperbolic tree)和圆形树(radial tree)。
基于什么技术?
基于JS,html5。
使用难易程度?学习成本高低?
中等难度,主要由利用JavaScript InfovisToolkit自身的js类库完成图形,需要了解类库属性。学习成本较中等。
学习资料是否完备?
中文资料较少,但是官方网站提供完备的Example Code。
适合在什么环境下使用?
图形报表,以分叉树和圆形树见长。
输入输出?
输入:Json数据流
输出:html
是否开源?是否免费?
免费。开源。
优点缺点?
优点:使用html输出,客户端性能较高。兼容浏览器,跨服务器语言。
缺点:没有中文案例和资料。
五. Highcharts
Highcharts是什么?
Highcharts 是一个用纯 JavaScript编写的一个图表库,能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习、个人网站和非商业用途使用。HighCharts支持的图表类型有曲线图、区域图、柱状图、饼状图、散状点图和综合图表。
基于什么技术?
基于JS,html5。
使用难易程度?学习成本高低?
中等难度,主要由利用Highcharts自身的js类库完成图形,需要了解类库属性。学习成本较中等。
学习资料是否完备?
资料不是很多。
适合在什么环境下使用?
图形报表。
输入输出?
输入:Json
输出:html
是否开源?是否免费?
个人免费,商用收费。开源。
优点缺点?
优点:兼容浏览器,图表类型丰富,跨服务器语言,提示功能,放大功能,时间轴。性能较好。
缺点:收费,资料不够丰富。
六. D3(Data-Driven Document)
D3是什么?
D3.js是一个用来操作基于数据的文档的javascript库,D3能够帮助你使用html,svg和css来呈现数据。D3重视web标准,同时给予你现代浏览器的所有功能,因此,你无须去适应一个专有的框架,同时整合了强大的可视化部件和一个基于数据驱动的方法去操作DOM对象。
D3允许你绑定任意的数据到一个DOM对象中,然后绑定一些数据驱动的事务在这个文档上,例如,你可以用d3从一个数组中生成html的table.或者,使用同样的数据去制造一些具有过渡或交互的效果的动态svn的表格。
D3并不单单是一个提供所有可能想象的特性的框架。取而代之的是,d3解决的的问题是:如果基于数据有效地操作文档。这能够避免一些特有的呈现方式和提供额外的扩展性,同时也能够充分地利用网络的标准,例如css2,html5和svg.这是有了这些极小的开销,d3是很快的,而且支持大数据集合和交互,动画的动态行为。D3的函数风格允许通过不同的部件和插件实现代码重用。
基于什么技术?
基于JS,html。
使用难易程度?学习成本高低?
中等难度,主要由利用D3.js自身的js类库完成图形,需要了解类库属性。学习成本较高。
学习资料是否完备?
中文资料极少。
适合在什么环境下使用?
图形报表。
输入输出?
输入:Json数据流
输出:html
是否开源?是否免费?
免费。开源。
优点缺点?
优点:动画和交互图,易于使用,降低服务器负载,大量图表类型,跨服务器语言。
缺点:不符合国人报表使用习惯。
七. JFreeChart
JFreeChart是什么?
JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、 散点图(scatter plots)、 时序图(time series)、 甘特图(Gantt charts)等等多种图表,并且可以产生PNG和 JPEG格式的输出,还可以与PDF和EXCEL关联。JFreeChart技术成熟,完全是通过Java代码控制图表生成。
绑定结果集到JFreeChart对象中,由JFreeChart处理。
JFreeChartjfreechart = ChartFactory.createPieChart3D("", dataset,true, true,true);
基于什么技术?
基于Java。
使用难易程度?学习成本高低?
较难,JFreeChart是JAVA平台上的图表绘制类库,要有java基础,并且熟悉JFreeChart类库。学习成本较高。
学习资料是否完备?
资料丰富。
适合在什么环境下使用?
BS、CS图形报表。
输入输出?
输入:结果集
输出:图片
是否开源?是否免费?
免费开源,但是开发手册和示例要花钱购买。
优点缺点?
优点:稳定、轻量级且功能强大。API处理简单,很容易上手。生成的图表运行顺畅。
缺点:所有资源在服务器端生成,需要占用大量的服务器资源,而且图表以流的形式输送到客户端也占用了大量的网络资源。 只适合生成图片,而且文字、图片都不是特别清晰,还需要进行一些调整,比较麻烦。在交互性方面它又比不上Flash图表工具,比如 Open Flash Chart、 AnyChart、 FusionCharts等。
八. R语言
R语言是什么?
R是用于 统计分析、绘图的语言和操作环境。R是属于 GNU系统的一个自由、免费、源代码开放的 软件,它是一个用于统计计算和统计制图的优秀工具。
R是一套完整的数据处理、计算和制图 软件系统。其功能包括:数据存储和处理系统; 数组运算工具(其向量、 矩阵运算方面功能尤其强大);完整连贯的 统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。
与其说R是一种统计 软件,还不如说R是一种数学计算的环境,因为R并不是仅仅提供若干统计程序、使用者只需指定数据库和若干参数便可进行一个 统计分析。R的思想是:它可以提供一些集成的统计工具,但更大量的是它提供各种数学计算、统计计算的函数,从而使使用者能灵活机动的进行数据分析,甚至创造出符合需要的新的统计计算方法。
R是一个免费的自由 软件,它有UNIX、LINUX、MacOS和WINDOWS版本,都是可以免费下载和使用的。在那儿可以下载到R的安装程序、各种外挂程序和文档。在R的安装程序中只包含了8个基础模块,其他外在模块可以通过CRAN获得。
基于什么技术?
基于S语言。有各种扩展包,基于R语言、 LaTeX、Java及最常用C语言。
使用难易程度?学习成本高低?
较难,需要系统的学习使用,学习成本较高。
学习资料是否完备?
资料丰富。
适合在什么环境下使用?
数据统计分析,科学计算。常用于经济计量、财经分析、人文科学研究以及人工智能。
输入输出?
输入:数据流
输出:R格式。
是否开源?是否免费?
免费。开源。
优点缺点?
优点:计算功能强大。
缺点:R经常因为过分消耗内存而受到指责,而事实也确是如此。特定条件下我们可能需要更大的内存来做运算,提供两种途径来设定(增大)内存。
九. JMP
JMP是什么?
JMP主要用于实现统计分析。JMP的算法源于SAS,特别强调以统计方法的实际应用为导向,交互性、可视化能力强,使用方便,尤其适合非统计专业背景的数据分析人员使用,在同类软件中有较大的优势。
JMP的应用领域包括业务可视化、探索性数据分析、六西格玛及持续改善(可视化六西格玛、质量管理、流程优化)、试验设计、生存及可靠性、统计分析与建模、交互式数据挖掘、分析程序开发等。JMP是六西格玛软件的鼻祖,当年 摩托罗拉开始推六西格玛的时候,用的就是JMP软件,目前有非常多的全球顶尖企业采用JMP作为六西格玛软件,包括 陶氏化学、惠而浦、 铁姆肯、 招商银行、 美国银行、中国石化等等。
JMP的应用非常广泛,全球用户数已经超过三十万,全球顶尖企业基本都是它的用户。
在医药领域,以严格和严谨著称的美国食品与药物管理局(FDA)对于药企申报的新药报告中的统计分析部分,只接受用 SAS和JMP分析得出的统计结果。其40%以上的药物评审员都是JMP用户。
基于什么技术?
软件。
使用难易程度?学习成本高低?
较简单,有中文傻瓜式版本。学习成本较低。
学习资料是否完备?
资料丰富。
适合在什么环境下使用?
统计制图,图形报表。
输入输出?
输入:数据流
输出:JMP格式。
是否开源?是否免费?
收费,但是有破解版本。
优点缺点?
优点:简单易用,有良好的操作体验。
缺点:收费。
十. Tableau
Tableau是什么?
Tableau 是桌面系统中最简单的商业智能工具软件,Tableau 没有强迫用户编写自定义代码,新的控制台也可完全自定义配置。在控制台上,不仅能够监测信息,而且还提供完整的分析能力。Tableau控制台灵活,具有高度的动态性。
Tableau公司将数据运算与美观的图表完美地嫁接在一起。它的程序很容易上手,各公司可以用它将大量数据拖放到数字“画布”上,转眼间就能创建好各种图表。这一软件的理念是,界面上的数据越容易操控,公司对自己在所在业务领域里的所作所为到底是正确还是错误,就能了解得越透彻。
基于什么技术?
软件。
使用难易程度?学习成本高低?
较难。免费培训。现场或按需在线培训。
学习资料是否完备?
资料丰富。
适合在什么环境下使用?
统计分析。图形报表。
输入输出?
输入:数据流
输出:特定格式。
是否开源?是否免费?
收费,没有破解版本,只有使用版本。
优点缺点?
优点:轻松的拖放式界面。适用于多种数据文件与数据库。数据可扩展性。不限所处理的数据大小。在线培训。
缺点:收费。
已有 0 人发表留言,猛击->> 这里<<-参与讨论
ITeye推荐