0

作業中の Web ページにさまざまなグラフを表示するために Highcharts を使用しています。単一の列を持つグラフもあれば、複数のデータ系列を持つグラフもあります。X 軸のカテゴリ数も異なります。さらに、Web デザインはレスポンシブであるため、グラフの幅が変化します。

各グループの各列の間にスペースは必要ありませんが、グループ間に距離が必要です。各列のサイズは固定する必要があります。つまり、groupPadding の値を設定する必要があります。

pointPadding を 0 に設定しました。ただし、グラフの幅が異なる場合に列が重なったり、それらの間のスペースが重なったりしないようにするには、javascript コードで groupPadding を自分で計算する必要があることがわかりました。グラフにはさまざまな違いがあるため、この groupPadding 値は動的でなければなりません。

これを数学的に行う方法は知っていますが、その値は定数ではないため、プログラムで xAxis 幅を取得する必要があります。最初に考えたのは、グラフ コンテナーの幅を使用することでしたが、y 軸とマージン/間隔がスペースを使用するため、x 軸はこれよりも小さくなっています。

グラフがレンダリングされた後に x 軸の幅を取得することは可能ですが、これは前に、つまりすべてのオプションをグラフに設定するときに必要です。どうやってやるの?

4

1 に答える 1

0

存在しないため、以前はその値を取得できません。ただし、そのような場合にはloadイベントがあります。

その場合this.xAxis[0].width、軸の幅にアクセスできます。次に、単に計算を実行して呼び出すことができますthis.series[0].update({ groupPadding: new_value });

于 2013-10-21T10:35:06.967 に答える