2016-07-15 12 views
1

ハイチャートでは、y軸のタイトルを上に置き、y軸のラベルと左揃えにしたいと思います。ハイチャートのラベル付きの左揃えのy軸タイトル

私はこれを試してみた:

$('#container').highcharts({ 
    ... 
    yAxis: { 
     ... 
     title: { 
      align: 'high', 
      text: 'Y-axis title', 
      rotation: 0, 
      y: -10, 

      //To left-align title with labels 
      textAlign: 'left', //This is undocumented, but appears to work 
      margin: 0 
     } 
    } 
}) 

しかし、私はy軸のタイトルの長さに比例すると思わ過度の左マージンを取得します。

Highcharts left-align y-axis title JsFiddle

マージン計算は、アカウントにtextAlign: 'left'設定をとらないように見えます。

更新:私の現在の "解決策"はchart.marginLeftでマージンを設定することですが、それは修正されているため理想的ではありません。左のマージンは、軸ラベルを収容するのに十分な大きさでなければなりません(ただし、大きくてもかまいません)。

y軸のタイトルをラベルに左揃えにし、余裕を持たせるにはどうすればよいですか?

+0

私はあなたの問題の解決策を見つけることができると思います:http://stackoverflow.com/questions/38327772/highstock-yaxis-label-top?noredirect=1#comment64072862_38327772 –

+0

Thanks Grzegorz。ラベルのサイズに合わせて調整されない固定値なので、私はむしろ 'marginLeft'を使いたくないと私の質問で言いました。 –

答えて

0

私は必要な柔軟性を提供するために、(はい、あなたは正しくそれを読んで)marginLeftを使用することにしましたが、あなたの軸ラベルの長さに基づきます。

私がここで行ったことは、グラフオプションをchartOptionsという変数に設定したことです。次に、軸のタイトルの長さ(文字数)を計算し、その値に基づいてmarginLeftプロパティを設定し、修正されたグラフオプションでグラフを描画しました。私はあなたのデータポイントの一部を増加させることにより、異なる番号でそれをテストしhttp://jsfiddle.net/brightmatrix/6eeuay58/9/

chartOptions.chart.marginLeft = chartOptions.yAxis.title.text.length; 
var chart = $('#container').highcharts(chartOptions); 

はここで働いてフィドルです。

これが有用で役立つかどうかお知らせください。

関連する問題