2017-10-05 5 views
0

私がきちんと右のプロット国境からインデント伝説Highchartパイ垂直凡例は右正しく

マイ設定

Highcharts.chart('container', { 
        chart: { 
         type: 'pie', 
         plotBackgroundColor: null, 
         plotBorderWidth: 1, 
         plotShadow: false, 

        }, 
        plotOptions: { 
         pie: { 
          dataLabels: { 
           enabled: false 
          }, 
          showInLegend: true, 
          center: [150, 150], 
         }, 
         column: { 
          stacking: 'percent' 
         } 
        }, 
        tooltip: { 
         pointFormat: '<span style="color:{series.color}">{series.name}</span>: <b>{point.y}</b> ({point.percentage:.2f}%)<br/>', 
         shared: true 
        }, 

       series: [{ 

        name: "My plot", 
        type: 'pie', 
        innerSize: '70%', 
        data: [ ['item',4],['item2',50],['item3',8]] 

       }], 
       title: { 
        text: "My chart" 
       }, 
       legend: { 
        layout: 'vertical', 
        align: 'right', 
        verticalAlign: 'middle', 
        borderWidth:1, 

       }, 
}); 

http://jsfiddle.net/69d1d22x/

できない私が思うプロットするためにピン留めないALIGN私は伝説を左に並べて右にシフトする必要があるが、私はハックを見つけなかった。

答えて

0

のサイズを制限しようとしましたか?

同様:

(...) 
type: 'pie', 
plotBackgroundColor: null, 
plotBorderWidth: 1, 
plotShadow: false, 
width: 450, 
(...) 

例:

http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/chart/width/

+0

はい私は試みた。しかし、私は最大の応答ブロック幅を使用する必要があるので、多くの助けにはなりません。パーセンテージを使用するのが良いでしょう。 – hunty

0

あなたはプロットに右マージンを与えるためにchart.marginRightを使用することができます。 (ここでの仮定はlegend.align'right'に等しいということである)その横に凡例を配置するために、このコードを使用します。

function alignLegend(chart) { 
    var group = chart.legend.group; 
    group.attr({ 
    translateX: chart.plotLeft + chart.plotWidth + chart.plotBox.x 
    }); 
} 

置き、この機能をloadredrawイベントで。

ライブ作業例:http://jsfiddle.net/kkulig/cthaLrb3/

APIリファレンス:

+0

ありがとう@KamilKulig!これは機能します。また、角度1.4.9とhicharts-ngでこれを試しました。 configと同じスコープで機能を定義するだけです。コントローラ内 – hunty

関連する問題