Highchart 数据捆绑方法

highcharts中的data是一个json数组:data:[4,1,12,4,3,3,1]
所以在servlet封装json为:

public class AdFromByMdaReportAction extends Action{

    @Override
    public void Perform() throws Exception {
        // TODO Auto-generated method stub
        LinkedHashMap<String, LinkedList<String>> map=new LinkedHashMap<String, LinkedList<String>>();

        LinkedList<String> list=new LinkedList<String>();
        list.add("22");list.add("12");list.add("11");list.add("10");list.add("3");
        map.put("show", list);

        LinkedList<String> list1=new LinkedList<String>();
        list1.add("12");list1.add("32");list1.add("10");list1.add("8");list1.add("5");
        map.put("IndependentAccess", list1);

        LinkedList<String> list2=new LinkedList<String>();
        list2.add("32");list2.add("2");list2.add("10");list2.add("18");list2.add("15");
        map.put("ip", list2);

        LinkedList<String> list3=new LinkedList<String>();
        list3.add("12");list3.add("21");list3.add("30");list3.add("18");list3.add("25");
        map.put("VisitTime", list3);


        JSONObject json=JSONObject.fromObject(map);
        System.out.println(map);

        PrintWriter out=response.getWriter();
        out.print(json);
        out.close();
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

然后在js中,使用ajax请求servlet,然后再生成折线图:

$.ajax({
            type:'POST',
            url:'<%=request.getContextPath()%>/c?action=media.report.AdFromByMdaReportAction',
            data:'',
            dataType:'json',
            success:function(data){
                console.log(data);
                showHIghcharts(data);
            }
        });
        function showHIghcharts(data){
            $('#zhexiantu').highcharts({
                chart:{

                    },
                title:{
                     text:'来源分析—广告(媒体)',
                     x:-20
                    },
                subtitle:{
                     text:'数据来源:afa',
                     x:-20
                    },
                xAxis:{
                    categories:['0:00','4:00','8:00','12:00','16:00','20:00','24:00'],//维度--时间
                    },
                yAxis:{
                    title:{
                        text:'指标'
                    },
                    plotLines:[{
                        value:0,
                        width:1,
                        color:'#eeeee'
                        }]
                    },
                legend:{
                    layout:'vertical',
                    align:'right',
                    verticalAlign:'middle',
                    borderWidth:0
                    },
                series:[{
                    name:'浏览量(PV)',
                    data:eval("[" + data.show + "]")
                    },
                    {
                    name:'独立访客(UV)',
                    data:eval("[" + data.IndependentAccess + "]")
                    },
                    {
                    name:'IP',
                    data:eval("[" + data.ip + "]")
                    },
                    {
                    name:'访问次数',
                    data:eval("[" + data.VisitTime + "]")
                    }, 
                    ]
                })
        }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Highcharts是一个用于制作交互式图表的JavaScript库,可以创建各种类型的图表,包括复合图表。 要创建一个复合图表,需要使用Highcharts的组合图表功能,该功能允许将多个图表组合在一起以显示多个数据系列。以下是一个创建复合图表的基本步骤: 1. 创建一个空的Highcharts图表对象。 2. 添加一个或多个数据系列,每个系列对应一个不同的图表类型,例如柱状图、折线图、面积图等。 3. 配置每个数据系列的选项,包括颜色、标签、线型等。 4. 配置图表的整体选项,例如标题、图例、坐标轴等。 5. 将图表渲染到HTML页面中。 下面是一个创建包含柱状图和折线图的复合图表的示例代码: ```javascript // 创建一个空的Highcharts图表对象 var chart = Highcharts.chart('container', { title: { text: '复合图表示例' }, xAxis: { categories: ['一月', '二月', '三月', '四月', '五月', '六月'] }, yAxis: [{ // 配置左侧Y轴 title: { text: '销售额' } }, { // 配置右侧Y轴 title: { text: '利润' }, opposite: true }], series: [{ // 添加第一个数据系列,使用柱状图 name: '销售额', type: 'column', yAxis: 0, data: [100, 200, 150, 250, 300, 200] }, { // 添加第二个数据系列,使用折线图 name: '利润', type: 'line', yAxis: 1, data: [50, 100, 80, 120, 150, 100] }] }); ``` 在上面的代码中,我们创建了一个包含柱状图和折线图的复合图表,其中左侧Y轴表示销售额,右侧Y轴表示利润。柱状图表示销售额,折线图表示利润。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值