在highcharts中上下钻取时更新图表标题

在highcharts中上下钻取时更新图表标题,highcharts,Highcharts,我想在上下钻取时更新图表标题。我在向下钻时设法做到了,但在向上钻时却找不到方法 试试我的JSFIDLE,看看我在说什么: 如果只使用一个向下钻取级别,则可以使用一个变量来保存顶级标题,这样您就知道,在向上钻取时,您将进入顶级,并且应该显示该标题。如果你有多个级别的深入研究,你必须弄清楚你在哪个级别,以及合适的标题。检查事件。钻取的系列选项可以帮助解决此问题 变量: var chart; var topLevelSeriesName = "Brands"; var topLevelTitle =

我想在上下钻取时更新图表标题。我在向下钻时设法做到了,但在向上钻时却找不到方法

试试我的JSFIDLE,看看我在说什么:


如果只使用一个向下钻取级别,则可以使用一个变量来保存顶级标题,这样您就知道,在向上钻取时,您将进入顶级,并且应该显示该标题。如果你有多个级别的深入研究,你必须弄清楚你在哪个级别,以及合适的标题。检查
事件。
钻取的系列选项可以帮助解决此问题

变量:

var chart;
var topLevelSeriesName = "Brands";
var topLevelTitle = "Browser market shares. November, 2013";
var topLevelSubtitle = "Click the columns to view versions. Source: netmarketshare.com.";
图表设置:

chart = new Highcharts.Chart({
    chart: {
        type: 'column',
        renderTo: 'container',
        title: {
            text: topLevelTitle
        },
        subtitle: {
            text: topLevelSubtitle
        },
        events:{
            drilldown: function(e){
                var chart = this;
                chart.setTitle({text: e.point.name}, {text: ''});

            },
            drillup: function(e){
                if(e.seriesOptions.name == topLevelSeriesName) {
                    chart.setTitle({text: topLevelTitle}, {text: topLevelSubtitle});
                }
                else {
                    chart.setTitle({text: e.seriesOptions.name}, {text: ''});
                }
            }
        }
    },

    ...

    series: [{
        name: topLevelSeriesName,
        colorByPoint: true,
        data: brandsData
    }]

    ...

});

这应涵盖多个层次的深入分析和标题更改。请参阅。

您是否曾经需要进行多个级别的深入研究?否则,您可以将原始标题存储在变量中。
chart = new Highcharts.Chart({
    chart: {
        type: 'column',
        renderTo: 'container',
        title: {
            text: topLevelTitle
        },
        subtitle: {
            text: topLevelSubtitle
        },
        events:{
            drilldown: function(e){
                var chart = this;
                chart.setTitle({text: e.point.name}, {text: ''});

            },
            drillup: function(e){
                if(e.seriesOptions.name == topLevelSeriesName) {
                    chart.setTitle({text: topLevelTitle}, {text: topLevelSubtitle});
                }
                else {
                    chart.setTitle({text: e.seriesOptions.name}, {text: ''});
                }
            }
        }
    },

    ...

    series: [{
        name: topLevelSeriesName,
        colorByPoint: true,
        data: brandsData
    }]

    ...

});