我在制作图表时使用的是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;
}
此代码正常运行,但我的问题是,它只隐藏了一个图表,并在用户点击另一个图例时再次显示图表。我需要做的是通过单击指定的标签文本和标记来隐藏多个图形,当图形被隐藏时,我应该单击相同的图例来显示隐藏的图形。
请帮帮我。谢谢。
答案 0 :(得分:0)
根据您的描述,默认的图例行为完全符合您的要求,无需添加handleClick代码。我不确定它有什么意义。
var chart = AmCharts.makeChart("chartdiv", {
// ...
"legend": { }, //default setup
});