`
sty2008boy
  • 浏览: 302407 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

引用:highChart控件不错,挺漂亮

 
阅读更多

 

之前项目里面的报表组建用的是flash的amchart,非常漂亮,但是有几个缺陷,比如在数据量多的时候,某些提示信息会被flash给遮挡住,导致显示不全。另外部分浏览器没有安装flash的播放插件,导致客户端无法正常显示,另外amchart只支持xml格式的数据,参数等配置都在xml中进行配置的,和java的体系结构有些格格不入。所以后来索性替换成了jquery的一个报表插件highchart。

 

该插件支持各种主流的图表,比如饼图,柱图,线图。支持一些类似amchart的效果,比如动态缩进,动态加载,鼠标悬停提示,提示框等,支持json数据,支持jquery,支持ajax加载。

 

Highcharts 官网:http://www.highcharts.com 
Highcharts 官网示例:http://www.highcharts.com/demo/

Highcharts 官网文档:http://www.highcharts.com/documentation/how-to-use

 

具体使用不多说了很简单的,主要说些小细节。
(function($){   
    $.fn.extend({   
        columnChart : function(option){   
            var defaultOption = {   
                    url:'',   
                    moduleName:''  
            };   
  
            $.extend(defaultOption,option);   
               
            var chartOptions = {   
                    chart: {   
                        renderTo: $(this).attr('id'),   
                        defaultSeriesType: 'column'  
                    },   
                    title: {   
                        text: ''  
                    },   
                    xAxis: {   
                        categories:[]   
                    },   
                    yAxis: {   
                        allowDecimals: false,   
                        min: 0,   
                        title: {   
                            text: ''  
                        }   
                    },   
                    legend: {   
                        align: 'right',   
                        x: -100,   
                        verticalAlign: 'top',   
                        y: 20,   
                        floating: true,   
                        backgroundColor: '#FFFFFF',   
                        borderColor: '#CCCCCC',   
                        borderWidth: 1,   
                        shadow: true  
                    },   
                    tooltip: {   
                        formatter: function() {   
                            return '<b>'+ this.x +'</b><br/>'+   
                                 this.series.name +': '+ this.y +'<br/>'+   
                                 defaultOption.moduleName+'总数量: '+ this.point.stackTotal;   
                        }   
                    },   
                    plotOptions: {   
                        column: {   
                            stacking: 'normal'  
                        }   
                    },   
                    series: []   
            };   
               
            $.get(defaultOption.url, function(data) {   
                var moduleName='';   
                   
                if(defaultOption.moduleName != ''){   
                    moduleName = defaultOption.moduleName;   
                }else{   
                    moduleName = data.moduleName;   
                }   
                   
                chartOptions.title.text = moduleName+'柱状图';   
                chartOptions.yAxis.title.text = moduleName;   
  
                chartOptions.xAxis.categories = data.categories;   
                chartOptions.series = data.series;   
                   
                new Highcharts.Chart(chartOptions);   
            });   
        }   
    })   
       
    $.fn.extend({   
        pieChart : function(option){   
            var defaultOption = {   
                url:"",   
                moduleName:""  
            };   
               
            $.extend(defaultOption, option);   
               
            var chartOptions = {   
                chart: {   
                    renderTo: $(this).attr('id'),   
                    plotBackgroundColor: null,   
                    plotBorderWidth: 2,   
                    plotShadow: true  
                },   
                title: {   
                    text: defaultOption.moduleName+'饼状图'  
                },   
                tooltip: {   
                    formatter: function() {   
                        return '<b>'+ this.point.name +'</b>: '+ this.y +' %';   
                    }   
                },   
                plotOptions: {   
                    pie: {   
                        allowPointSelect: true,   
                        cursor: 'pointer',   
                        dataLabels: {   
                            enabled: true,   
                            formatter: function() {   
                                if(this.y>0)   
                                return '<b>'+ this.point.name +'</b>: '+ this.y +' %';   
                            }   
                         },   
                        showInLegend: true,   
                     <SPAN style="BACKGROUND-COLOR: #888888">   point: {   
                            events : {   
                             click : function(){//绑定click事件   
                              alert("11111111111");   
                             }   
                            }   
                        }</SPAN>   
                     }   
                  },   
                  series: [{   
                      type: 'pie',   
                      name: 'Browser share',   
                      data: []   
                  }]   
            };   
               
               
            $.get(defaultOption.url, function(data){   
                 chartOptions.series[0].data=data;   
                 new Highcharts.Chart(chartOptions);       
            });                           
        }   
    });   
})(jQuery)  
 
后台很简单,用一个javabean组装数据拼装成一个json对象抛出即可。黑色背景色代码表示为饼图添加一个点击的事件,允许做些例外的操作,比如显示详情,或者切换页面等。

 

 

另外highchart支持到处图片或者pdf文件,需要导入几个lib包,最主要的是batik,该包由于升级到1.7,分散成20多个小的lib包,后来用了1.6的,加载几个其他必须的,一共3个lib包。

 

中文乱码问题,通过filter设置编码即可解决。

http://highcharts.codeplex.com/                 ---highcharts.net官方网站 
 
分享到:
评论

相关推荐

    HighChart 3.0.2 Demo+API

    HighChart是一款基于JavaScript的开源图表库,用于在Web应用程序中创建高质量、互动式的图表。它在数据可视化领域具有广泛的应用,尤其在Web开发中深受喜爱。3.0.2是HighChart的一个版本,该版本提供了丰富的图表...

    HighChart API

    HighChart API 是一款强大的JavaScript图表库,用于在Web页面上创建动态、交互式的图表和图形。这个API提供了丰富的选项和功能,使得开发者可以定制各种类型的图表,如柱状图、折线图、饼图、散点图等。下面将详细...

    highchart c# demo

    这个"highchart c# demo"示例将指导我们如何在C#后端生成数据,并通过JavaScript在前端展示。 首先,我们需要理解Highcharts的基本结构。Highcharts的核心是HTML5 `&lt;div&gt;`标签,我们在这个标签内插入JavaScript代码...

    HighChart曲线图

    HighChart是一款强大的JavaScript图表库,用于在Web页面上创建各种互动式图表,包括曲线图。在Web开发中,数据可视化是至关重要的,HighChart凭借其丰富的功能和易用性,深受开发者喜爱。以下是对"HighChart曲线图...

    web网页图表控件highchart示例

    在“web网页图表控件highchart示例”中,我们将深入探讨Highcharts的基本用法、特性以及如何在实际项目中应用。 1. **安装与引入** 在HTML文件中,可以通过CDN链接或本地文件引入Highcharts的JS库。一般来说,引入...

    highexportserv2.5:Highchart 导出服务器修改以兼容 servlet 2.5

    Highcharts 服务器导出 Servlet 2.5 Highcharts Server Export Servlet 2.5 的主要目标是使 Highcharts Server Export 能够在 tomcat6 / servlet 2.5 上工作。 它基于 Highcharts Server Export 的源代码(在 ...

    matlab开发-HighChart

    在MATLAB中,我们首先需要将HighChart的JavaScript库引入到我们的MATLAB代码中,这通常通过在HTML文件中插入JavaScript引用或者使用MATLAB的`web.write`函数将库文件写入到临时HTML文件来完成。 在创建图表时,我们...

    highchart

    可以通过CDN链接直接在HTML文件中引用,或者下载到本地项目中使用。通常,我们会引入`highcharts.js`主文件以及需要的模块,例如`exporting.js`用于图表导出功能。 2. **基本结构**: 创建一个Highcharts图表主要...

    Highchart Demo

    在"Highchart Demo"这个实例中,我们将深入探讨如何利用Highcharts来制作各种类型的图表,以及相关的JavaScript配置和数据接收格式。 首先,Highcharts支持多种图表类型,如折线图、柱状图、饼图、散点图、面积图等...

    highchart中文帮助文档

    ### Highcharts中文帮助文档知识点详解 #### Chart图表区选项 Highcharts是一款强大的JavaScript图表库,其图表区选项允许用户精细调整图表的外观和行为。以下是一些关键的配置项: - **backgroundColor**: 设置...

    highchart源码

    highchart源码

    HighChart

    HighChart是一款广泛应用于Web开发中的数据可视化库,它允许开发者创建出交互性强、美观的图表。HighChart基于JavaScript,支持各种浏览器,包括IE9及以上的版本。它以其灵活性、丰富的图表类型和良好的性能赢得了...

    highchart.rar

    在这个名为"highchart.rar"的压缩包中,我们很显然会找到与Highcharts相关的代码示例,尤其是关于如何实现Y轴双数据的设置。 在Web开发中,数据可视化是一个至关重要的环节,它能够帮助用户更好地理解复杂的数据...

    highchart(api)

    这个压缩包文件的标题“highchart(api)”显然与Highcharts的API使用有关,可能包含了一些关于如何利用Highcharts API来绘制图表的示例或教程。 Highcharts的核心功能包括折线图、柱状图、饼图、散点图等多种图表...

    bootstrap+EasyUI+highchart中文参考手册

    bootstrap+EasyUI+highchart中文参考手册,本人是后端开发,对前端不是很熟悉,所以在做项目的时候采用了这三个技术,因为是框架所以用起来开发前端很方便,果断选择,后端程序员也能开发出漂亮的前端页面了

    highchart 3 离线 API 完整版

    "Highchart 3 离线 API 完整版"是Highcharts的第三个主要版本的离线文档和资源包,它包含了所有关于Highcharts 3的API接口、方法、配置选项以及示例代码,方便开发者在无网络环境下查阅和学习。 在Highcharts 3中,...

    highchart源码及实例

    Highcharts是一款功能强大的JavaScript图表库,它用于在Web页面上创建高质量、交互式的图表。这款开源工具使用SVG(Scalable Vector Graphics)技术,同时也支持IE8及以下版本的VML渲染,确保在各种浏览器上都能良好...

Global site tag (gtag.js) - Google Analytics