如何删除通过Highcharts中的chart.renderer添加的文本

luf*_*143 2 javascript jquery charts labels highcharts

我在图表中添加了标签,而不是图例(请参阅此处的小提琴).绘制图形后,通过chart.renderer.text将这些系列标签附加到其上,用户可以单击按钮以添加其他系列,从而抑制其他行(成功).但是,我怎么能摆脱这些标签 - 现在这些标签就存在.

示例:这是完整的行和标签集: 在此输入图像描述

这是一个单击按钮以显示一个额外的行,同时抑制其他四行: 在此输入图像描述

我添加这样的标签:

chart.renderer.text('Volcanic', 1170, 360)
  .css({
    fontSize: '13px',
    color: '#7d7d7d'
  })
.add();
Run Code Online (Sandbox Code Playgroud)

现在,这些标签仍在那里 - 但应该消失.我能用这种方式做到吗?是否可以添加ID,然后调用chart.renderer.byID(xy).remove()或类似的东西?

小智 8

您可以通过调用.destroy()它们来删除渲染对象.您需要做的就是将对象分配给变量.

var objLabel; // assign the var so it is reachable in your scope

objLabel = $('#container').highcharts().renderer.text('Volcanic', 100, 30)
  .css({
    fontSize: '13px',
    color: '#7d7d7d'
  })
.add();
Run Code Online (Sandbox Code Playgroud)

这是一个证明这一点的小提琴:http://jsfiddle.net/jfpq6zcg/