2017-11-09 8 views
1

C3チャートの積み上げ棒グラフの注文機能はChromeとFirefoxでは機能しますが、SafariとIEではバーのデータの順序が逆になります。ここ はあなたのorder機能が誤っているデモc3サファリでのチャートの注文が正しく行われない

https://jsfiddle.net/shru8051/wp520y8j/

<div id="chart"></div> 

var chart = c3.generate({ 
    data: { 
     columns: [ 
      ['MONETARY', 11340, 3259], 
      ['NON-MONETARY', 12335, 18041] 
     ], 
     type: 'bar', 
     groups: [ 
      ['MONETARY','NON-MONETARY'] 
     ], 
     order:function(t1,t2){return true}, 
    }, 

    axis: { 
     x: { 
      type: 'category', 
      categories: ['DENTIST', 'PROGRAMMER/ANALYST'] 
     } 
    } 
}); 

答えて

0

です:

order:function(t1,t2){ return true }

the documentation

0123によると、

データの順序を定義します。

このオプションでは、データと、円/ドーナツ の積み重ね順序が変更されます。 nullを指定すると、データがロードされた順序になります。 関数が指定されている場合は、データをソートするために使用され、 は引数としてデータを受け取ります。

Chromeの場合は、ツールチップ内のバーアイテムにカーソルを移動すると、場所が連続的に切り替わります。あなたのためですorder関数は常にtrueを返します。

dataOrdervar dataOrder = ['MONETARY', 'NON-MONETARY'];

Safariであなたのフィドルのこのフォークをチェックしている

order: function(v1, v2) { 
    return dataOrder.indexOf(v1.id) < dataOrder.indexOf(v2.id) ? 1 : -1 
} 

:あなたはオレンジ矩形の上に配置青RECT(Monetary)(Non monetary)にしたい場合は、単にこのようorderプロパティを書き換えることができますIEの - https://jsfiddle.net/y0qLnvv4/6/

+0

私の要件は異なりますが、データの昇順で表示する必要はありません、データの順序は、バーの色の順序は常に同じでなければなりません。例:与えられた例では、バーの青色は、値が何であっても常に上になければなりません。クロムブルーの色はバーの上にありますが、サファリの青はbar –

+0

@SKRameshああ、今、あなたの問題を把握しています。私は私の答えとjsfiddleを更新しました。 –

+1

、うまく動作しています....ありがとう:) –

関連する問題