0

我正在使用 Highcharts 显示图表,当用户单击图表中的某个点时,我正在使用 Highslide 在弹出窗口中显示其他信息。但是,我想在弹出窗口中向标题/标题文本添加其他信息。

我已经让 Highslide 使用以下代码显示基本信息:

$(function () {
    var options = {
        chart: {
            renderTo: 'container',
            defaultSeriesType: 'line'
        }
        credits: {
            enabled: false
        }
        plotOptions: {
            series: {
                cursor: 'pointer',
                point: {
                    events: {
                        click: function() {
                            hs.htmlExpand(null, {
                                pageOrigin: {
                                    x: this.pageX,
                                    y: this.pageY
                                },
                                headingText: this.series.name,
                                maincontentText: Highcharts.dateFormat('%A, %b %e, %Y', this.x) +':<br/> '+
                                    this.y +' visits',
                                width: 200
                            });
                        }
                    }
                },
                marker: {
                    lineWidth: 1
                }
            }
        },
        series: []
    }
});

我已经通读了 Highslide 的 API,发现您可以将 'heading' 变量与 'Expander.prototype.onAfterGetHeading' 函数一起使用,如下所示,但我不确定如何使用 Highcharts 实现它.

hs.Expander.prototype.onAfterGetHeading = function () {
    this.heading.html = 'this.a.title';
}

HERE是一个在 Highslide 弹出窗口中显示带有多行标题的弹出窗口的站点,例如。但是,请记住,我正在尝试在 Highcharts 中实现这一点,可能在标题中使用动态文本。

谢谢。

4

1 回答 1

0

这是您可以与 Highcharts 一起使用的解决方案:http: //jsfiddle.net/roadrash/gd3xz/

请注意,这是在标题中插入锚的标题文本的正确代码,作为附加标题文本:

hs.Expander.prototype.onAfterGetHeading = function (sender) {
    if (sender.heading) {
        sender.heading.innerHTML += this.a.title;
    }
};

我对 Highcharts 不熟悉,但我认为您不能使用this.a.title,因为a它指的是锚标记。您当然可以插入除this.a.title上述代码之外的其他内容,就像我在演示中所做的那样。

于 2013-03-02T10:54:44.410 回答