Javascript - AmCharts使用图例

时间:2017-04-05 05:53:36

标签: javascript graph amcharts

我在制作图表时使用的是Amcharts插件。但是我在使用图例隐藏和显示图表时遇到了问题。

这是我的功能代码:

function handleLegendClick( graph ) {
  var chart = graph.chart;
  for( var i = 0; i < chart.graphs.length; i++ ) {
    if ( graph.id == chart.graphs[i].id )
      chart.hideGraph(chart.graphs[i]);
    else 
     chart.showGraph(chart.graphs[i]);
  }

  if (graph.id == chart.graphs['3'].id)
      chart.hideGraph(chart.graphs['4']);

  if (graph.id ==chart.graphs['4'].id)
      chart.hideGraph(chart.graphs['3']);

    chart.validateNow();
  // return false so that default action is canceled
  return true;
}

此代码正常运行,但我的问题是,它只隐藏了一个图表,并在用户点击另一个图例时再次显示图表。我需要做的是通过单击指定的标签文本和标记来隐藏多个图形,当图形被隐藏时,我应该单击相同的图例来显示隐藏的图形。

请帮帮我。谢谢。

1 个答案:

答案 0 :(得分:0)

根据您的描述,默认的图例行为完全符合您的要求,无需添加handleClick代码。我不确定它有什么意义。

var chart = AmCharts.makeChart("chartdiv", {
  // ...
  "legend": { }, //default setup
});

Here's an example with multiple graphs.