背景


近期的一个项目中,对数据的统计分析有非常大的要求,这就要求有一款非常强大的报表、图表插件。因此,组长给分了任务。让我们各自去研究不同的图表插件。用了一两天的时间,对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信息。

只是,网上还是有非常多的破解方法的。非常easy。


ChartDirector 插件使用方便,快捷,灵活,功能强大,交互性强。在Webserver以及嵌入式应用程序开发中,它是一种很理想的工具。拥有丰富的图表图形组件库。

支持多种图表样式,如圆形图表(饼形图),圆环图,柱形图(条形图)。直线图。曲线图,梯形线图,趋势线图。曲线拟合图。线间色图,区域图,泡沫图等等。採用多线程结构,特别应用于具有高性能要求的server端应用程序开发,拥有基于API(应用编程接口)的对象。同意用户控制和定制图表细节,从而设计出用户惬意的图表。


ChartDirector 对中文的支持也是非常不错的,出现的问题非常容易解决,网上都有解决方式。此外,ChartDirector 提供的源代码中,jsp的demo也是比較简单的,你仅仅须要改一下数据,立即就能够呈现出你想要的效果。

并且还备有英文的文档。文档中提供了源代码的说明,对于开发人来说还是非常方便的。就我个人来说。我还是非常喜欢这一款插件的,图形种类繁多,样式美丽,并且上手也非常easy。


watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFwcHlsZWU2Njg4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt=""> 

  • JScharts

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

JSCharts 的特点是。它不须要不论什么服务端的插件和模块。是纯JavaScript组件。它是一款商业软件,但提供了免费的版本号(含有水印)。

如要删除水印,须要一个域密钥。正常情况下。JScharts是不支持中文的,只是在网上找到一个解决方式,能够试一下,点击这里 。


  

  • JFreeChart

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


JFreeChart是一种基于Java语言的图表开发技术。能够用于Servlet、JSP、Applet、Java Application 环境中,通过JDBC可动态显示不论什么数据库数据,结合ltext能够输出至PDF文件。

JFreeChart
画出来的图形不够精细。看起来有些模糊。图表的文字边缘、颜色和颜色的分界也比較模糊。

JFreeChart 对中文的支持不是非常好。尽管有字体的解决的方法,但仍然存在问题。它使用的默认字体显示出来的中文会非常模糊。你可能须要改动源码。


 

总结


对照这三款Java图表插件,ChartDirector 提供的图形样式是最多的。也是最美丽的,毕竟是商业软件,对于另外两种还是有一些优势的。尽管免费版本号的图表会有logo信息,只是对于这个网上有解决方式,能够去掉logo。对开发者来说,ChartDirector 提供了非常多的Demo和文档。足够开发者学习和使用了。


JScharts 也提供了一些日经常常使用的图形样式,包含柱状图、饼形图等等。并且它提供的样式也还是不错的。尽管JScharts
不须要不论什么服务端的插件和模块,可是对Web前端的JavaScript有一定的要求。不了解JavaScript的开发人员是没办法使用的。

当然。假设了解JavaScript的话,使用JScharts开发图表还是非常easy的。


JFreeChart 也提供了一些日经常常使用的图形样式。仅仅只是它仅仅支持java语言,在易用性方面还是非常easy的。样式方面也还是能够的。尽管JFreeChart的文档要收费。但好在国内还有非常多人在使用JFreeChart,网上能够找到非常多相关的使用教程。JFreeChart的缺陷就是仅仅适合生成图片,并且文字、图片都不是特别清晰。还须要进行一些调整。



结束语


这里对照了经常使用的三款java图表插件。至于项目中选用那一款插件,这个要视情况而定,首先须要看项目中的需求怎样。其次看项目组成员的基本素养,以及项目的进度、时间等等。

这些都是要考虑的,而不是随随便便的就选择一款插件进行开发。选择插件的目的是为了更好的帮助我们开发。当然。假设你仅仅是学习这几款插件的使用。那么你能够多用一些时间来研究一下,在我看来,这些图表的插件,以后应该会经经常使用到了,仅仅要涉及到大数据,这些东西就避免不了。


JavaWeb图表插件的小研究的更多相关文章

  1. 微信小程序图表插件 - wx-charts

    微信小程序图表插件(wx-charts)基于canvas绘制,体积小巧支持图表类型饼图.线图.柱状图 .区域图等图表图形绘制,目前wx-charts是微信小程序图表插件中比较强大好使的一个. wx-c ...

  2. 基于html5 canvas 的强大图表插件【Chart.js】

    名词解释 Chart.js:是基于html5和canvas的强大图表插件,支持多样的图表形式,柱状线性饼环极地雷达等等: canvas:只兼容到IE9 excanvas.js:强大的第三方兼容插件,可 ...

  3. canvas的Chart图表插件

    今天写页面页面需求到柱状图标,今天介绍一下我所用的Chart.js图表插件 官网:http://www.bootcss.com/p/chart.js/         里面会有下载js文件和中文文档 ...

  4. Echarts图表插件(4.x版本)使用(二、带分类筛选的多个图表/实例化多个ECharts,以关系图/force为例)

    导读 如果想在一个页面里实例化带分类筛选的多个Echarts该怎么做呢? 曾探讨了带分类选择的关系图显示为自定义图片的需求实现,传送门ECharts图表插件(4.x版本)使用(一.关系图force节点 ...

  5. ECharts图表插件(4.x版本)使用(一、关系图force节点显示为自定义图像/图片,带分类选择)

    导读 ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safar ...

  6. flot - jQuery 图表插件(jquery.flot)使用

    Flot是纯Javascript实现的基于jQuery的图表插件,主要支持线状图和柱状图的绘制(通过插件也可以支持饼状图). 特别注意Flot使用的是UTC时间,最好修改flot.js去掉所有的UTC ...

  7. 不错的jQuery图表插件 .

    很多时候我们需要在网页中显示数据统计报表,从而能很直观地了解数据的走向,更好地帮助决策分析.今天就给大家分享几个个人觉得好用的jQuery图表插件,这几个图表插件使用起来非常方便,而且挺灵活的,相信大 ...

  8. 图表插件--jqplot交互演示样例

    简单交互 在之前的学习中,我们已经能够绘制各种类型的图表,也能够给图表加入不同的组件,如标题.图例等等.但这些图表仅仅能用于展示数据,一旦希望对图表有所操作--比方查看数据明细--就显得束手无策了.事 ...

  9. 一款可定制的外国jQuery图表插件jqplot

    jqPlot是一个jQuery绘图插件,可以利用它制作漂亮的线状图和柱状图.jqPlot支持为图表设置各种不同的样式.提供Tooltips,数据点高亮显示等功能. 用法: 1.引入jQuery类库和相 ...

随机推荐

  1. float 保留两位小数

    1.页面运算格式化数字 页面上有时候会用到数字的运算,运算过后会出现1.5999999999999这么长的数字,需要格式化数字,比如保留两位有效数字 首先导入这个标签 <%@ taglib ur ...

  2. 最短路Dijkstra和Flyod

    Problem Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要 ...

  3. poj 2250 Compromise(区间dp)

    题目链接:http://poj.org/problem?id=2250 思路分析:最长公共子序列问题的变形,只是把字符变成了字符串,按照最长公共子序列的思路即可以求解. 代码如下: #include ...

  4. QT中QWidget类简介

    一.详细描述 QWidget类是所有用户界面对象的基类.通俗的来讲,Qt基本上所有的UI类都是由QWidget继承出来的,而QWidget继承于QObject,  大家可以查阅Qt source 即可 ...

  5. Arcgis for javascript map操作addLayer具体解释

    本节的内容非常easy.说说Arcgis for Javascript里面map对象的addLayer方法.在for JS的API中,addLayer方法有两种.例如以下图: watermark/2/ ...

  6. 模拟Hibernate框架的小demo

    该程序为尚学堂马士兵老师讲解,模拟了hibernate的原理,主要应用了字符串拼接,反射知识. step1,新建数据库 use jd; create table _student( _id int(1 ...

  7. Activity的onSaveInstanceState()和onRestoreInstanceState()以及API详解

    为了弄清楚onSaveInstanceState()方法和onRestoreInstanceState()方法,我翻译一下谷歌的API,翻译如下: There are a few scenarios ...

  8. MVC 扩展 Html.ImageFor

    Asp.Net MVC 扩展 Html.ImageFor 方法详解 背景: 在Asp.net MVC中定义模型的时候,DataType有DataType.ImageUrl这个类型,但htmlhelpe ...

  9. nginx记录响应与POST请求日志

    生产环境中的某些api出现故障,但是问题无法重现,但是又很想解决掉问题以及我们新项目上线,需要跟踪请求与响应的信息,可以预先找到一些bug,减少大面积的损失. 安装nginx与ngx_lua 响应日志 ...

  10. 设计模式(六)桥连模式Bridge(结构型)

      设计模式(六)桥连模式Bridge(结构型) 1. 概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够 ...