2013-02-25 17 views
6

HighChartsを使用して縦横の横棒グラフを描画していますが、HighChartsがデフォルトで系列データの順序を逆転させる以外は素晴らしい結果が得られます。HighChartsがシリーズの順序を逆にするのはなぜですか?

http://jsfiddle.net/U8nZ6/

あなたは$ 20Kは、DATA1/data2の配列の最初の行であるにもかかわらず、デモで見ることができるように、それは、各バー(右上のすべての道)の最後のチャンクです。私は、これは順番になりたいので、私はカップルの事を試してみました:

1)配列.reverse() Dでチャートをレンダリングします。上記のデモでこれらの行を有効にすると、各グラフに異なる数のレコードが存在するため色が並んでいないことがわかります。これは機能しません(唯一であってはなりません)これを行う方法、私は確信している)

2)xAxis.reversed = trueを使用してください。これは、カラーマッチングで正しい順序で配置しますが、凡例は逆になり(100%から0%)、右から左にアニメートされます。

別の方法がありますか?

答えて

3

まあ、何の代替はありませんと仮定すると、ここで誰もがグーグルを通じて、この時につまずく場合には、私が一緒に行ったものです:

(軸を反転させる)、上記のオプション2を使用して、私は単純にするフォーマッタを経由してラベルを変更しましたその逆。私の場合は

、それはパーセンテージ(0-100)だから、私は簡単に言えば:

labels: { formatter: function() { return Math.abs(this.value - 100) } }

1

私は同様の問題がありました。さまざまなオプションを試した後、チャートをレンダリングする前にシリーズインデックスを設定しました。汎用コード:

if (options.chart.type === 'bar') { 

    for (var i = 0; i < options.series.length; i++) { 
     options.series[i].index = options.series.length - 1 - i; 
     options.series[i].legendIndex = i; 
    } 
} 

ご例えばjsFiddleを更新:http://jsfiddle.net/U8nZ6/23/

2

reverseStacksと呼ばれるオプション(http://api.highcharts.com/highcharts#yAxis.reversedStacks)積み上げグラフのためのデフォルトはtrueことがありますように見えます。あなたのコードでこれをfalseに設定したいかもしれません。

は、私はあなたのJSFiddleは、特にこのオプションはおそらくありませんが存在するHighchartsバージョン2.3.5を、要求していることに気づきました。

1

誰もがまだこれを探している場合。私はを逆転しました:私の凡例に真の

legend: { 
      align: 'right', 
      x: -30, 
      verticalAlign: 'top', 
      y: 25, 
      floating: true, 
      backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || 'white', 
      borderColor: '#CCC', 
      borderWidth: 1, 
      shadow: false, 
      reversed: true // right here! 
     } 
関連する問題