2016-11-21 6 views
0

棒グラフをクリックして棒グラフを非表示にしてグラフを更新するにはどうすればよいですか?私は凡例をクリックするのとほぼ同じ機能を持ちたいと思っています。棒グラフを非表示にした後ハイチャートを更新

Jsfiddle:私は「アジア」バーをクリックした場合例えばhttps://jsfiddle.net/Nadiyaka/005z7dut/1/

は、私は、データが非表示になりたいとチャートは、他のデータを大きく見るために再ロードします。

は、これまでのところ私は、データを非表示にすることができるだけだけど、グラフがないさわやかです:

series: [{ 
     data: [1052, 954, 4250, 740, 38], 
     events: { 
      click: function(e) { 
      var chart = $("#container").highcharts(); 
      index = event.point.x; 
      chart.series[0].data[index].graphic.hide(); 
      chart.series[0].data[index].dataLabel.hide(); 
      } 
     } 
     }] 
+0

あなたがラベルと関連付けられているカテゴリまたは唯一のポイントを非表示にしたいですか? – morganfree

+0

私はそれを戻すこともできるようにしたいので、バーだけ – Zelenka

+0

バーを隠して横にチャートのサイズを変更したいのですが、関連するカテゴリをクリックした後でもう一度見えるようにしますか? – morganfree

答えて

1

は(パイシリーズのポイントを除く)のポイントを隠すためのオプションがありませんが、あなたのことができポイントの値をnullに設定することで同じ効果が得られます。

events: { 
    click: function(e) { 
     var point = e.point; 

     point.series.chart.pointer.reset(false); // this is needed to prevent the tooltip from moving around 
     point.update({ 
     y: null, 
     holdY: point.y // I preserve original value needed on showing 
     }); 
    } 
    } 

列を示すために、ラベル

にイベントを添付
load: function() { 
     var chart = this, 
     points = this.series[0].data; 

     points.forEach(function(point) { 
     chart.xAxis[0].ticks[point.x].label.on('click', function() { 
      if (point.y === null) { 
      point.update({ 
       y: point.holdY 
      }); 
      } 
     }); 
     }); 
    } 

例:https://jsfiddle.net/005z7dut/2/

+0

このような詳細な説明をありがとう – Zelenka

関連する問題