背景


近期的一个项目中,对数据的统计分析有非常大的要求,这就要求有一款非常强大的报表、图表插件。因此,组长给分了任务。让我们各自去研究不同的图表插件。用了一两天的时间,对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. QT学习 之 事件与事件过滤器(分为五个层次)

    事件 在Qt中,事件是作为对象处理的,所有事件对象继承自抽象类QEvent.此类用来表示程序内部发生或者来自于外部但应用程序应该知道的动作.事件能够能过被 QObject 的子类接受或者处理,但是通常 ...

  2. Poj 2499 Binary Tree(贪心)

    题目链接:http://poj.org/problem?id=2499 思路分析:结点向左边移动时结点(a, b)变为( a+b, b),向右边移动时( a, b )变为( a, a + b); 为求 ...

  3. HTML高级选项卡(1)————表标签

    利用上述表格属性,能够简单的创建一个表格.并随意的分割行和列. <html> <head> <title>表格的应用</title> </head ...

  4. c++,命名空间(namespace)

    1.什么是命名空间: 命名空间:实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来. 2.命名空间 ...

  5. Basic DataList

    一,效果图. 二,源代码. <!DOCTYPE html><html><head> <meta charset="UTF-8"> & ...

  6. nginx前端负载,后端apache获取真实IP设置

    原文链接: nginx前端负载,后端apache获取真实IP设置 参考文献: 前端Nginx,后端Apache获取用户真实IP地址  按照第二种方法设置不成功! 网站最前端是nginx,做的PROXY ...

  7. 树莓派常用Linux命令

    转自小五义 1.ls命令:列出文件目录的常用命令,主要参数见下表. -a 列出目录下的所有文件,包括以.开头的隐含文件. -b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列 ...

  8. Flask web应用

    Flask web应用 一.介绍 最近开发要用一个测试环境,是这样的Nginx+uwsgi+flask 的一个结构.下面是一些记录,在Centos 系统上使用Flask 架构部署一个简单的Python ...

  9. 用QT创建WINDOWS服务程序

    恩, qtservice挺好的http://www.qtsoftware.com/products/appdev/add-on-products/catalog/4/Utilities/qtservi ...

  10. QT5.6所开放的7个新模块(图表,虚拟键盘,性能分析,静态分析,测试正好,2D渲染)

    The modules newly available to open source users are: Qt Charts Qt Data Visualization Qt Virtual Key ...