Highcharts同步图表,带有下拉选择而不是图例

时间:2018-09-21 03:08:35

标签: javascript highcharts filter toggle

我正在寻找帮助,将以下三个同步图表的自定义下拉列表连接到图表图例。

基本上,我想连接3个下拉列表来控制每个图表的图例。这可能吗?

看我的小提琴:http://jsfiddle.net/s5xch17m/2

    <div class="panel panel-default">
      <div class="panel-body">


            <div class="col-lg-2">
         <div class="button-group">
            <button type="button" class="btn  btn-block btn-default btn-sm dropdown-toggle" data-toggle="dropdown"><!-- <span class="glyphicon glyphicon-cog"></span> --> Movement Direction</button>
    <ul class="dropdown-menu">
      <li><a href="#" class="small" data-value="option1" tabIndex="-1"><input type="checkbox"/>&nbsp;Normal</a></li>
      <li><a href="#" class="small" data-value="option2" tabIndex="-1"><input type="checkbox"/>&nbsp;Reverse</a></li>
    </ul>
      </div>
    </div>

    <div class="col-lg-2">

      <div class="button-group">
            <button type="button" class="btn btn-block btn-default btn-sm dropdown-toggle" data-toggle="dropdown"><!-- <span class="glyphicon glyphicon-cog"></span> --> Select Trends</button>
    <ul class="dropdown-menu">
      <li><a href="#" class="small" data-value="option1" tabIndex="-1"><input type="checkbox"/>&nbsp;RMS</a></li>
      <li><a href="#" class="small" data-value="option2" tabIndex="-1"><input type="checkbox"/>&nbsp;Peak</a></li>
      <li><a href="#" class="small" data-value="option3" tabIndex="-1"><input type="checkbox"/>&nbsp;Direction</a></li>
    </ul>
      </div>
    </div>

    <div class="col-lg-2">

      <div class="button-group">
            <button type="button" class="btn btn-block  btn-default btn-sm dropdown-toggle" data-toggle="dropdown"><!-- <span class="glyphicon glyphicon-cog"></span> --> Select Filters</button>
    <ul class="dropdown-menu">
      <li><a href="#" class="small" data-value="option1" tabIndex="-1"><input type="checkbox"/>&nbsp;Location Temperature</a></li>
      <li><a href="#" class="small" data-value="option2" tabIndex="-1"><input type="checkbox"/>&nbsp;Minimum</a></li>
      <li><a href="#" class="small" data-value="option3" tabIndex="-1"><input type="checkbox"/>&nbsp;Maximum</a></li>
      <li><a href="#" class="small" data-value="option4" tabIndex="-1"><input type="checkbox"/>&nbsp;Threshold</a></li>
    </ul>


    </div>

    </div>
      </div>
    </div>

      </div>
    </div>

以下是我要实现的目标的一个示例-与指标类似:https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/stock/demo/advanced-stock-chart/

1 个答案:

答案 0 :(得分:0)

您可以将元素的data-value属性设置为与它们表示的系列名称相同。像option1option2这样的值几乎没有意义。然后,将系列与钻取中的选项链接起来会容易得多:

Highcharts.each(charts, function(chart) {
    Highcharts.each(chart.series, function(s) {
        if (s.name === val) {
            if (s.visible) {
                s.hide();
            } else {
                s.show();
            }
        }
    });
});

实时演示:http://jsfiddle.net/BlackLabel/1dk9x2tr/

API参考:https://api.highcharts.com/class-reference/Highcharts.Series#show