highCharts图表入门实例

本文通过讲解Highcharts生成一个简单的3D柱状图实例来学习Highcharts的使用。

  JSP 页面

  1、需要引入的js文件

<script src="<%=basePath%>javascript/jquery-1.6.1.js"></script>
<script src="<%=basePath%>javascript/wiassess/highCharts4.0.3/highcharts.js"></script>
<script src="<%=basePath%>javascript/wiassess/highCharts4.0.3/highcharts-3d.js"></script>
<script src="<%=basePath%>javascript/wiassess/highCharts4.0.3/modules/exporting.js"></script>

2、javascript

<script type="text/javascript">
function Query(){
 /* 省略tradTp,county,nature等参数的获取过程 */
         $.ajax({
            type:"post",
            dataType:"json",
             data: {"project.tradTp":tradTp,"project.county":county,"project.projNature":nature,"project.replDtS":replDtS,"project.replDtE":replDtE,"project.chartTp":chartTp},  //参数列表
            async:false,
            url:"<%=basePath%>wiassess/projectMgr/projectMgrAction!getProjectChart.action", 
            success: function(result){
                     var jsonData=result;
                     var xdata=jsonData.xdata; //xdata是后台传向前台的参数,代表横轴的数组
                     var data=jsonData.data;   //data是后台传向前台的参数,代表显示数据,本实例显示的是年用水量
                     var tiltleTm=jsonData.title; //tiltleTm 是后台传向前台的参数,代表图标的标题
                     var chart = new Highcharts.Chart({
                            chart: {
                                renderTo: 'chartPro', //要显示柱状图的div的id
                                type: 'column',       //图表类型为柱状图
                                margin: 75,
                                options3d: {           //这里设置3D图表的样式
                                    enabled: true,
                                    alpha: 10,
                                    beta: 0,
                                    depth: 50,
                                    viewDistance: 25
                                }
                            },
                      
                            title: {
                                text: tiltleTm    //显示柱状图的标题
                            },
                           credits: {//不显示highchart超链接
                                enabled: false
                            },
                            plotOptions: {
                                column: {
                                    depth: 10,
                                    value: 0,
                                    width: 1
                                }
                            },
                            yAxis:{    //纵坐标
                                   title:{
                                       text:'单位:立方米'
                                   }
                            },
                            xAxis: {   //横坐标
                                categories:  xdata
                            },
                           tooltip: {    //提示格式
                                shared: true,
                                useHTML: true,
                                headerFormat: '<small>{point.key}</small><table>',
                                pointFormat: '<tr><td style="color: {series.color}">{series.name}: </td>' +
                                    '<td style="text-align: right"><b>{point.y} 立方米</b></td></tr>',
                                footerFormat: '</table>',
                                valueDecimals: 2
                            },
                            series: [{
                                name:'取水总量',
                                data: data
                            }]
                        });
            },
            error: function(){
                alert('获取失败!');
            }
        });
}
</script>

3、jsp

 <div id="chartPro"  style=" width: 66%; height: 400px; "  ></div>

台传数据----拼接json

action方法getProjectChart()

/**
     * 获得项目统计图
     * @return
     * @throws Exception
     */
     public String   getProjectChart() throws Exception{
           //省略参数获取过程<br>          //需要获取的参数<br>       //1、title:titleStr----柱状图的标题,StringBuffer类型,将其值传入前台
//2、data:sumWaterByCounty-----柱状图的数据列,是一个数组
//3、xdata:xdata-------横坐标轴的数据,也是一个数组
<br>
         /**
           * 输出统计的字符串转化成JSON,返回JSON
             * */
         StringBuilder sb=new StringBuilder();
        sb.append("{\"success\":true,");
        sb.append("\"title\":\""+titleStr.toString()+"\",");
        sb.append("\"data\":"+JSONArray.fromObject(sumWaterByCounty)+",\"xdata\":"+JSONArray.fromObject(xdata)+"");
        sb.append("}");
         jsonStr=sb.toString();
        return jsonStr;//返回拼接的JSON,供前台获取<br>      }

 

转载于:https://www.cnblogs.com/onetwo/p/5339932.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值