2017-02-27 11 views
1

このコードでは、複数のバーをハイライト表示して選択することができます。 ハイライト表示されている(ハイライトされていない)バーをハイライト表示したままで、その選択を解除するにはどうすればよいですか? FLOTがハイライトバーの配列を公開していないので、最も簡単な解決策は、現在のバー場合plotclick機能でこのような配列を自分で作成してチェックすることですjsfiddleハイライト表示/非表示ハイライト表示の棒グラフ選択

答えて

0

:ここ

$(function() { 

    var sin = []; 

    for (var i = 0; i < 14; i += 1) { 
     sin.push([i, Math.sin(i)]); 
    } 

    var plot = $.plot("#placeholder", [ 
     { data: sin, label: "sin(x)"} 
    ], { 
     series: { 
      bars: { 
       show: true 
      }, 
     }, 
     grid: { 
      hoverable: true, 
      clickable: true 
     }, 
    }); 

    $("#placeholder").bind("plotclick", function (event, pos, item) { 
     if (item) { 
      $("#clickdata").text(" - click point " + item.dataIndex + " in " + item.series.label); 
      plot.highlight(item.series, item.datapoint); 
     } 
    }); 
}); 

は完全なコードです既に強調表示されており、その場合は強調表示を解除します。

更新されたコード(この更新fiddleでフルコード):

var highlights = {}; 

    $("#placeholder").bind("plotclick", function(event, pos, item) { 
     if (item) { 
      $("#clickdata").text(" - click point " + item.dataIndex + " in " + item.series.label); 

      var indices = item.seriesIndex + '_' + item.dataIndex; 
      if (highlights[indices]) { 
       plot.unhighlight(item.series, item.datapoint); 
       highlights[indices] = false; 
      } else { 
       plot.highlight(item.series, item.datapoint); 
       highlights[indices] = true; 
      } 
     } 
    }); 
+0

は、お返事ありがとうございました – PVL

関連する問題