大家好,请教个问题我现在实现的功能是   :  x轴显示 业务,y 显示业务的百分比,现在遇到问题是  :  x轴 的 categories 属性值 从 后台查询有 8 个业务   例如:  categories :[1,2,3,4,5,6,7,8]
而我的 需要显示的数据  series :[] 这儿里面有  31 个省份的数据   series 从后台获取的数据例如  series :[{name:'湖北',data:[1,2,3...31]},..... 这样的一共有31个实体],导致x轴 的    categories 显示 有问题 而不是  我想要显示的  8 个业务 1...8,请问下这个问题怎么处理下?
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript">
$(function () {
    var chart;
    $(document).ready(function() {
        chart = new Highcharts.Chart({
            chart: {
                renderTo: 'container',
                type: 'column'
            },
            title: {
                text: 'Monthly Average Rainfall'
            },
            subtitle: {
                text: 'Source: WorldClimate.com'
            },
            xAxis: {
                categories: [
                    '1',
                    '2',
                    '3',
                    '4',
                    '5',
                    '6',
                    '7',
                    '8'
                ]
            },
            yAxis: {
                min: 0,
                title: {
                    text: 'Rainfall (mm)'
                }
            },
            legend: {
                layout: 'vertical',
                backgroundColor: '#FFFFFF',
                align: 'left',
                verticalAlign: 'top',
                x: 100,
                y: 70,
                floating: true,
                shadow: true
            },
            tooltip: {
                formatter: function() {
                    return ''+
                        this.x +': '+ this.y +' mm';
                }
            },
            plotOptions: {
                column: {
                    pointPadding: 0.2,
                    borderWidth: 0
                }
            },
                series: [{
                name: 'Tokyo',
                data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
    
            }, {
                name: 'New York',
                data: [83.6, 78.8, 98.5, 93.4, 106.0, 84.5, 105.0, 104.3, 91.2, 83.5, 106.6, 92.3]
    
            }, {
                name: 'London',
                data: [48.9, 38.8, 39.3, 41.4, 47.0, 48.3, 59.0, 59.6, 52.4, 65.2, 59.3, 51.2]
    
            }, {
                name: 'Berlin',
                data: [42.4, 33.2, 34.5, 39.7, 52.6, 75.5, 57.4, 60.4, 47.6, 39.1, 46.8, 51.1]
    
            }]
        });
    });
    
});
</script>
</head>
<body>
<script src="../js/highcharts.js"></script>
<script src="../js/jquery-1.7.2.min.js"></script>
<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div> </body>
</html>

解决方案 »

  1.   

    好久没用 highchart 
    读起来真费劲,还没读懂你想实际的结果
    后台传递的数据不是你想要的结果,那就进行重新拼装
    建议先用符合要求的假数据先显示图例  再做后台
      

  2.   

     8个点对31个点肯定是有问题的,后面会多23组矩形 这是业务的问题 highcharts本身没有问题啊,是不是把省份和业务的关系搞反了 应该是一个省对应8个业务吧?建议先把业务逻辑弄清楚 画图就很简单了