在HighCharts中添加类别

时间:2013-08-22 05:57:23

标签: javascript highcharts

  1. 如何在highcharts的基本柱形图中添加包含数据的新类别。 (sample fiddle和下面的代码)在dec之后添加另一个类别,例如2013年,并添加所有4个系列数据,其中包括50个。

  2. 在新添加的类别中添加另一个系列,其值为60但不应出现在以前的类别中。

  3. 我希望在某些功能

  4. 中绘制图表后动态执行此操作
    $(function () {
        $('#container').highcharts({
            chart: {
                type: 'column'
            },
            title: {
                text: 'Monthly Average Rainfall'
            },
            subtitle: {
                text: 'Source: WorldClimate.com'
            },
            xAxis: {
                categories: [
                    'Jan',
                    'Feb',
                    'Mar',
                    'Apr',
                    'May',
                    'Jun',
                    'Jul',
                    'Aug',
                    'Sep',
                    'Oct',
                    'Nov',
                    'Dec'
                ]
            },
            yAxis: {
                min: 0,
                title: {
                    text: 'Rainfall (mm)'
                }
            },
            tooltip: {
                headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
                pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
                    '<td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
                footerFormat: '</table>',
                shared: true,
                useHTML: true
            },
            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]
    
            }]
        });
    });
    

3 个答案:

答案 0 :(得分:7)

要添加新类别,您需要使用chart.xAxis[0].setCategories(array)其中array包含所有类别 - 旧的和新的类别,而不仅仅是新的。

要添加新系列,请使用chart.addSeries(options),对于options,您应该data: [ [categoryIndex, value] ] - 这将为特定类别添加一个点。

参考文献:

答案 1 :(得分:1)

  1. 2013添加到xAxis.categories,然后将50添加到每个series.data
  2. 的末尾
  3. 添加新系列f并使用[0, 0, ..., 60]作为data
  4. 图表已经“动态”(调用$('#container').highcharts(options);来绘制
  5. Working fiddle

答案 2 :(得分:0)

请查看http://jsfiddle.net/VYDDH/

我在

做了更改
xAxis: {
    categories: [
        'Jan',
        'Feb',
        'Mar',
        'Apr',
        'May',
        'Jun',
        'Jul',
        'Aug',
        'Sep',
        'Oct',
        'Nov',
        'Dec',
        '2013'
    ]
},

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,50]
    }, {
        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,50]
    }, {
        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,50]
    }, {
        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,50]
}]

你想要这个吗?