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

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

  3. 我想在某些函数中绘制图表后动态地执行此操作


$(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]

        }]
    });
});
4

3 回答 3

8

要添加新类别,您需要使用chart.xAxis[0].setCategories(array)where arraycontains all categories - 新旧类别,而不仅仅是新类别。

要添加新系列使用chart.addSeries(options),并且options您应该拥有data: [ [categoryIndex, value] ]- 这将为特定类别增加一分。

参考:

于 2013-08-22T11:10:01.883 回答
1
  1. 添加2013xAxis.categories,然后添加50到每个末尾series.data
  2. 添加一个新系列f并给出[0, 0, ..., 60]asdata
  3. 图表已经是“动态的”(调用$('#container').highcharts(options);绘图

工作小提琴

于 2013-08-22T06:04:48.247 回答
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]
}]

你想得到这个吗?

于 2013-08-22T06:04:39.633 回答