通过单击flot chart中的图例来切换数据系列?

时间:2009-11-11 13:56:02

标签: jquery flot

我使用flot.js来绘制一些数据,但我有很多数据系列,所以用户可能想要隐藏一些系列。 flot的一个示例显示了如何使用复选框切换数据系列。我想点击图例的小颜色框或标签,以切换该系列的可见性。这可能吗?

2 个答案:

答案 0 :(得分:4)

以下是使用复选框http://people.iola.dk/olau/flot/examples/turning-series.html

的示例

可以修改它以在每个legendLabel上放置一个click事件,但您一次只能显示一个图例。

在就绪功能中使用类似的东西


$('.legendLabel').click(
function(d){
    var country = $(this).html().toLowerCase();
          var data = [  ];
    //alert( country );
    data.push( datasets[country] );

        if (data.length > 0)
            $.plot($("#placeholder"), data, {
                yaxis: { min: 0 },
                xaxis: { tickDecimals: 0 }
           }); 

}
); 

答案 1 :(得分:0)

我刚刚回到编程中,并且对ajax之类的东西不太熟悉,所以我用javascript实现了我的解决方案。您可以使用逻辑来做您正在寻找的事情。

<html>
<head>
<script type="text/javascript">
<!--
    function toggle_visibility(id) {
       var e = document.getElementById(id);
       if(e.style.display == 'block')
          e.style.display = 'none';
       else
          e.style.display = 'block';
    }
//-->
</script>
</head>

<body>

<fieldset>
  <legend onclick="toggle_visibility('cm1');">Click Me</legend>
    <div id="cm1">
      <p>I toggle when the legend is clicked.</p>
      <p>But I'm a recalcitrant text node and refuse to toggle.</p>
    </div>
</fieldset>

<fieldset>
  <legend onclick="toggle_visibility('cm2');">Click Me 2</legend>
    <div id="cm2">
      <p>Toggle me too when the legend is clicked.</p>
      <p>But I'm a recalcitrant text node and refuse to toggle.</p>
    </div>
</fieldset>
</body>
</html>