2015-07-20 139 views

回答

0

你必须做一个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.hideSeries.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] 
}] 
+0

正是我在找的东西。谢谢。 –