2016-10-06 5 views
0

ハイチャートのチャートの高さを自動的にかつ動的に変更する(更新する)必要があります(たとえば水平バーの場合)。ハイチャートのチャートの動的高さ

1つの要素の高さ(例:水平バー)は一定です(たとえば20px)。 X要素を含むチャートの高さが自動的に設定されます(〜20px * X)。

+1

を入力してください最小限の再生可能な例であれば、このフィドルから始めることができます:http://jsfiddle.net/s0zb9z8e/ – nilsole

答えて

2

これは少し事前設定で行うことができます。用

  • セット変数:
    • 上下のマージン
    • ポイントとグループパディング
    • データ内のデータポイントの数が
    • を設定
    • ポイントの幅

Calcula TEとそれに応じて、チャートのheightプロパティを設定します。

var barCount = chartData.length, 
    pointWidth = 20, 
    marginTop = 70, 
    marginRight = 10, 
    marginBottom = 50, 
    marginLeft = 100, 
    groupPadding = 0, 
    pointPadding = 0.3, 
    chartHeight = marginTop 
       + marginBottom 
       + ((pointWidth * barCount) * (1 + groupPadding + pointPadding)); 

フィドル:

(アクションでそれを見るためにページdataPoints変数を更新)

+0

良い!クール!!! 私は 5主のバー例えばhighcharts でドリルダウンを使用するときにそれを実装する方法 - 私はグラフの高さfuncを計算する(5)ユーザクリックバー#3と、それは15本の二次バー に「ドリルダウン」と その後、私ができます再度高さを計算する – Zhihar

+0

'drillDown'イベントと' drillUp'イベントで、データポイントの事前定義カウントを使用するか、またはその時点でデータポイントを取得してカウントする関数を追加し、 'Chart .update() '関数を使って' height'プロパティを更新します。 http://api.highcharts.com/highcharts/chart.events.drilldown | http://api.highcharts.com/highcharts/Chart.update – jlbriggs

関連する問題