【问题标题】:Highcharts annotations not working when using boost module使用 boost 模块时,Highcharts 注释不起作用
【发布时间】:2018-10-04 13:35:06
【问题描述】:

我在折线图中添加了动态注释,单击任何点都会添加形状注释。但是,一旦我添加 boost.js 模块,annotations.js 模块似乎停止工作(或者至少不会在点击时呈现形状注释)。

在 Highcharts documentation 警告部分,他们解释说:

除此之外,不绘制区域线,不支持圆形以外的标记形状。也无法为线条设置破折号样式。也不支持区域、堆叠和负色。

注释没有被提及,它们不兼容吗?有人知道解决方法吗?我还没有找到任何有用的答案,我真的需要同时使用这两个功能。

【问题讨论】:

  • 你好,WeirdFennec,看起来一切正常:jsfiddle.net/BlackLabel/u3ohmya9你能准备一些最小的实例来演示你的情况吗?
  • 嗨@ppotaczek!感谢您的回复!我已经使用您的演示作为基础复制了我的注释:jsfiddle.net/z518qkxs。我注意到,当我在注释的 points 中注释 xAxis: 0, yAxis: 0 时,问题就解决了(但是注释与您单击的位置偏离了中心,这也是一个问题)
  • 它也适用于定义的轴:jsfiddle.net/BlackLabel/r8oza9m6

标签: javascript highcharts annotations highcharts-boost


【解决方案1】:

要使注释按照您想要的方式工作,您应该计算图表上的正确位置:

    events: {
        click: function(e) {
            var chart = this;

            chart.addAnnotation({
                shapes: [{
                    fill: 'none',
                    stroke: 'red',
                    strokeWidth: 3,
                    type: 'path',
                    points: [{
                        x: e.chartX - chart.plotLeft,
                        y: 0,
                        //xAxis: 0,
                        //yAxis: 0
                    }, {
                        x: e.chartX - chart.plotLeft,
                        y: 300,
                        //xAxis: 0,
                        //yAxis: 0
                    }]
                }]
            });
        }
    }

现场演示:http://jsfiddle.net/BlackLabel/mcw8v7ns/

【讨论】:

  • 谢谢!我还注意到注释在添加 boost: { useGPUTranslations: true } 时开始工作,但不知道为什么,因为在你的示例中它没有被包含在内并且无论如何都可以工作
猜你喜欢
  • 2023-02-17
  • 2020-04-08
  • 1970-01-01
  • 1970-01-01
  • 2012-06-24
  • 2014-08-14
  • 1970-01-01
  • 2022-07-15
  • 1970-01-01
相关资源
最近更新 更多