如何仅在点击复选框时将线条系列扩展为点状?

问题描述:

我有一个从0-t1区间x的系列。 如果用户点击图例旁边的检查,我想从t1-t2(同一系列)中显示延长的虚线。如何仅在点击复选框时将线条系列扩展为点状?

任何人都可以建议如何去做呢?

+0

如果我理解哟ü正确的,你应该能够使用区域来改变你的系列中的dashStyle:http://jsfiddle.net/yavvLvea/ –

+0

雅我看到了,但我的要求有点不同,我不希望虚线被显示在第一个地方,当用户喜欢在系列图例名 –

+0

旁边检查时,它只会出现。可以在HC中动态更新系列。 http://jsfiddle.net/yavvLvea/1/如果我的示例将满足您的要求,我会将其作为回答发布 –

您应该能够使用checkboxClick功能更新的复选框,点击系列: http://api.highcharts.com/highcharts/plotOptions.series.events.checkboxClick http://api.highcharts.com/highcharts/Series.update

您可以使用区域从一些价值改变你的线条风格: http://api.highcharts.com/highcharts/plotOptions.series.zones

series: [{ 
    data: [-10, -5, 0, 5, 10, 15, 10, 10, 5, 0, -5], 
    showCheckbox: true, 
    events: { 
     checkboxClick: function() { 
     var checkbox = this.checkbox; 
     var newData = $.extend([], true, data); 
     for (var i = 0; i < 14; i++) { 
      newData.push(20 * Math.random()); 
     } 
     if (checkbox.checked) { 
      this.update({ 
      zones: [{ 
       value: data.length - 1, 
      }, { 
       dashStyle: 'dash' 

      }], 
      selected: false, 
      zoneAxis: 'x', 
      data: newData 
      }) 
     } else { 
      this.update({ 
      zones: [], 
      data: data, 
      selected: true 
      }); 
     } 
     } 
    } 
    }] 

带区域图表的实例: http://jsfiddle.net/yavvLvea/3/