JavaWeb图表插件的小研究


背景


最近的一个项目中,对数据的统计分析有很大的要求,这就要求有一款很强大的报表、图表插件。因此,组长给分了任务,让我们各自去研究不同的图表插件。用了一两天的时间,对java这块的图表插件做了一个简单的研究。java方向的图报表还是有很多很多的,例如,在业界颇具口碑的商业插件—— ChartDirector、 JavaScript图表 JScharts 等,以及开源插件—— JFreeChart(源码免费,文档付费)、 JasperReports 等。


现状


随着信息化时代的到来,计算机的应用也越来越广泛, 无论是企业还是政府机关,对数据的分析处理能力都是有严格要求的,以往的方式都是手工绘制图报表,来分析数据带来的影响和趋势。然而,图表的出现解放了人们的双手,利用计算机的高速处理能力,依托大数据量,绘制出各种各样的图表,以不同的方式展现出数据的趋势,使得阅读者对以往的数据和未来的趋势一目了然,运筹帷幄。

然而,就目前来说,在报表方面,国内只有稀疏的几家公司提供了很好的开发工具;但在图表方面,国内就欠缺很多了,大部分知名的图表插件都是国外的产品。而且,随着大数据时代的到来,对数据的处理、分析能力要求会更高,而图表、报表的需求也会越来越多。


介绍


在Web开发中,图形和图表是常用的数据呈现方式,图表能将枯燥的数据生动的表现出来。也许你正接手一个Web图表开发项目,却被Web图表开发工具选型的问题困扰着,要么是价格昂贵,要么就是部署麻烦,或者图表效果不尽人意。那么下面的介绍希望对你有一些帮助。

  • ChartDirector
ChartDirector 是一款商业的图表库,有多种语言的版本,支持的版本有有.NET,ASP/COM/VB,JSP/Java,CodeFusion,PHP,Perl,Ruby,C++等。ChartDirector图表工具尤其适合用于Web及嵌入式应用程序开发。使用它做的图表非常的精细漂亮,虽然是商业图表,但其收费并不算贵,当然,如果你不想花钱购买,它也提供了 免费版本,但在生成的图表上会出现logo信息。不过,网上还是有很多的破解方法的,很简单。

ChartDirector 插件使用方便,快捷,灵活,功能强大,交互性强。在Web服务器以及嵌入式应用程序开发中,它是一种非常理想的工具,拥有丰富的图表图形组件库。支持多种图表样式,如圆形图表(饼形图),圆环图,柱形图(条形图),直线图,曲线图,梯形线图,趋势线图,曲线拟合图,线间色图,区域图,泡沫图等等。采用多线程结构,特别应用于具有高性能要求的服务器端应用程序开发,拥有基于API(应用编程接口)的对象,允许用户控制和定制图表细节,从而设计出用户满意的图表。

ChartDirector 对中文的支持也是很不错的,出现的问题很容易解决,网上都有解决方案。此外, ChartDirector  提供的源码中,jsp的demo也是比较简单的,你只需要改一下数据,马上就可以呈现出你想要的效果。而且还备有英文的文档,文档中提供了源代码的说明,对于开发人来说还是很方便的。就我个人来说,我还是很喜欢这一款插件的,图形种类繁多,样式漂亮,而且上手也很简单。

JavaWeb图表插件的小研究_第1张图片 JavaWeb图表插件的小研究_第2张图片

  • JScharts 
JScharts 是一个用来在浏览器上直接绘制图表的JavaScript工具包。支持柱状图,圆饼图以及简单的曲线图。直接将这个库插入网页,然后从 XML 文件或 JavaScript 数组变量调用数据。

JSCharts 的特点是,它不需要任何服务端的插件和模块,是纯JavaScript组件,它是一款商业软件,但提供了免费的版本(含有水印)。如要删除水印,需要一个域密钥。正常情况下,JScharts是不支持中文的,不过在网上找到一个解决方案,可以试一下,点击这里 。

JavaWeb图表插件的小研究_第3张图片 JavaWeb图表插件的小研究_第4张图片 JavaWeb图表插件的小研究_第5张图片

  • JFreeChart
JFreeChart 是一个开源的Java项目,它主要用来开发各种各样的图表,这些图表包括,饼形图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。在这些不同样式的图表上可以满足目前商业系统的要求。

JFreeChart是一种基于Java语言的图表开发技术,可以用于Servlet、JSP、Applet、Java Application 环境中,通过JDBC可动态显示任何数据库数据,结合ltext可以输出至PDF文件。JFreeChart 画出来的图形不够精细,看起来有些模糊,图表的文字边缘、颜色和颜色的分界也比较模糊。JFreeChart 对中文的支持不是很好,虽然有字体的解决办法,但仍然存在问题。它使用的默认字体显示出来的中文会很模糊,你可能需要修改源代码。

JavaWeb图表插件的小研究_第6张图片 JavaWeb图表插件的小研究_第7张图片

总结


对比这三款Java图表插件, ChartDirector 提供的图形样式是最多的,也是最漂亮的,毕竟是商业软件,对于另外两种还是有一些优势的。虽然免费版本的图表会有logo信息,不过对于这个网上有解决方案,可以去掉logo。对开发人员来说, ChartDirector 提供了很多的Demo和文档,足够开发人员学习和使用了。

JScharts 也提供了一些日常常用的图形样式,包括柱状图、饼形图等等。而且它提供的样式也还是不错的。虽然 JScharts 不需要任何服务端的插件和模块,但是对Web前端的JavaScript有一定的要求,不了解JavaScript的开发者是没办法使用的。当然,如果了解JavaScript的话,使用JScharts开发图表还是很简单的。

JFreeChart 也提供了一些日常常用的图形样式,只不过它只支持java语言,在易用性方面还是很简单的。样式方面也还是可以的。 虽然JFreeChart的文档要收费,但好在国内还有很多人在使用JFreeChart,网上可以找到很多相关的使用教程。JFreeChart的缺陷就是只适合生成图片,而且文字、图片都不是特别清晰,还需要进行一些调整。


结束语


这里对比了常用的三款java图表插件,至于项目中选用那一款插件,这个要视情况而定,首先需要看项目中的需求如何,其次看项目组成员的基本素质,以及项目的进度、时间等等。这些都是要考虑的,而不是随随便便的就选择一款插件进行开发。选择插件的目的是为了更好的帮助我们开发,当然,如果你只是学习这几款插件的使用,那么你可以多用一些时间来研究一下,在我看来,这些图表的插件,以后应该会经常用到了,只要涉及到大数据,这些东西就避免不了。

你可能感兴趣的:(【Java开发】)