关于在页面中引入柱状图(Highcharts)

1、我们需要在项目中引入highcharts.js文件

如果报错说未引入或者引入成功但是不能调用里面的方法,说明js放置的位置不对
在这里插入图片描述

2、然后我们在页面需要放置柱状图的地方声明一个div,作为后续引入使用;

<EF:EFRegion id="result1" title="统计显示">
    <body style="background-color:'#f7fbff';">
    <div id="container" style="height: 400px; margin: 0 auto"></div>
    </body>
</EF:EFRegion>

3、在相应的js中使用highCharts组件进行柱状图绘制;

这里建议把各个组件在function外面声明好,然后我们在function中直接对其赋值即可;

var chart = {
    type: 'column'
};
var title = {
    text: '安全检查隐患整改情况统计'
};
var credits = {
    enabled: false // 禁用版权信息
};
var xAxis = {
    categories:[]
};
var yAxis = {
    allowDecimals: false,
    min: 0,
    title: {
        text: ' 安全检查隐患整改情况统计'
    },
    stackLabels: {  // 堆叠数据标签
        enabled: true,
        style: {
            fontWeight: 'bold',
            // color: (Highcharts.theme && Highcharts.theme.textColor) || 'gray'
        }
    }
};
var tooltip = {
    formatter: function () {
        return '<b>' + this.x + '</b><br/>' +
            this.series.name + ': ' + this.y + '<br/>' +
            '总量: ' + this.point.stackTotal;
    }
};
var legend = {
    align: 'right',
    x: -30,
    verticalAlign: 'top',
    y: 25,
    floating: true,
    // backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || 'white',
    borderColor: '#CCC',
    borderWidth: 1,
    shadow: false
};
var plotOptions = {
    column: {
        stacking: 'normal',
        dataLabels: {
            enabled: true,
            // color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white',
            style: {
                // 如果不需要数据标签阴影,可以将 textOutline 设置为 'none'
                textOutline: '1px 1px black'
            }
    }}
};
var series = [
    {
        name: '已整改',
        color: '#FFA500',
        data: [] //指定已整改的数组
    }, {
        name: '未整改',
        color: '#98FB98',
        data: []  //指定未整改的数组
    }
];
var json = {};

各个组件作用以及效果可以去官方文档仔细阅读;

一分钟上手highcharts!!!

4、在function方法中对各个组件进行赋值;

function changeData() {
    var eiInfo = new EiInfo();
    eiInfo.set("inqu_status-0-checkLevel",$("#inqu_status-0-checkLevel").val());
    eiInfo.set("inqu_status-0-checkUnits",$("#inqu_status-0-checkUnits").val());
    eiInfo.set("inqu_status-0-implementStartTime",$("#inqu_status-0-implementStartTime").val());
    eiInfo.set("inqu_status-0-implementEndTime",$("#inqu_status-0-implementEndTime").val());
    eiInfo.set("inqu_status-0-orgEname1",$("#inqu_status-0-orgEname1").val());
    eiInfo.set("inqu_status-0-orgEname2",$("#inqu_status-0-orgEname2").val());
    eiInfo.set("inqu_status-0-orgEname3",$("#inqu_status-0-orgEname3").val());
    EiCommunicator.send("AQYH0501", "getData", eiInfo,
        {
            onSuccess : function(ei) {
                //执行的功能
                var data1 = ei.get("data");
                // var xAxis1 = ei.get("xAxis");
                var xAxis1=[];//x轴标签数组
                var reform=[];//已整改数组
                var unreform=[];//未整改数组
                for (var b =0;b<data1.length;b++){
                        var dataInfo = data1[b];
                    reform.push(dataInfo["reform"])//已整改
                    unreform.push(dataInfo["unreform"])//未整改
                    xAxis1.push(dataInfo["dangeType"]=='10'?'地质环境隐患':'建设质量隐患');
                }
                xAxis.categories=xAxis1;  //X轴种类赋值
                json.chart = chart;
                json.title = title;
                json.credits = credits;
                json.xAxis = xAxis;
                json.yAxis = yAxis;
                json.tooltip = tooltip;
                json.legend = legend;
                json.plotOptions = plotOptions;
                json.series = series;
                json.series[0].data = reform;//已整改赋值
                json.series[1].data = unreform;//已整改赋值
                $('#container').highcharts(json);
            },
            onFail : function(ei) {
                IPLAT.NotificationUtil("获取数据失败", "error");
            }
        },{async: false});
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值