javascript - Highcharts:更改图例符号运行时

标签 javascript highcharts

拥有带有自定义标记/图标的“散点”图表:

series: [{
     marker: {
         symbol: 'url(http://www.highcharts.com/demo/gfx/sun.png)'
    }
}]

http://jsfiddle.net/sy6nb7fk

当取消选择数据系列时,有什么方法可以替换图例图标吗?

即使用“sun_disabled.png”

最佳答案

您必须执行 update 调用才能更改某些事件的标记。

如果仅使用图例项显示/隐藏系列,则可以在 plotOptions.series.events.legendItemClick 中执行此操作。例如(JSFiddle):

plotOptions: {
    series: {
        events: {
            legendItemClick: function(event) {
                var imageName = (this.visible ? 'snow' : 'sun');

                this.update({ 
                    marker: { 
                        symbol: 'url(http://www.highcharts.com/demo/gfx/'+ imageName +'.png)' 
                    } 
                });
            }
        }
    }
}

如果可以使用 hide()show() 函数调用显示/隐藏系列,您可以使用 Series.events.hide< 执行相同操作Series.events.show。例如(JSFiddle):

series: [{
    events: {
        hide: function() {
            this.update({ 
                marker: { 
                    symbol: 'url(http://www.highcharts.com/demo/gfx/snow.png)' 
                } 
            });
        },
        show: function() {
           this.update({ 
                marker: { 
                    symbol: 'url(http://www.highcharts.com/demo/gfx/sun.png)' 
                } 
            });
        }
    },
    marker: {
        symbol: 'url(http://www.highcharts.com/demo/gfx/sun.png)'
    },
    data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
}]

关于javascript - Highcharts:更改图例符号运行时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31511487/

相关文章:

javascript - 为什么 React 中的过渡函数无法渲染?

javascript - 在 Raphael JS 中围绕你的论文绘制边框

javascript - 如何从数据库动态更新号码

javascript - Highcharts问题: variable legend height

javascript - Highcharts 同步图表显示工具提示

JavaScript - 使用 SVG 图表 + HTML 和图像导出 Div

javascript - 如何显示在 Highcharts 中找不到数据

javascript - 深入图表时图表系列颜色更新失败

javascript - 如何在每次刷新时用新值增加以前的值

javascript - 不断出现受控与非受控 react 错误