2017-06-28 56 views
0

私はC3バーチャートを使用していますが、X軸ティックの問題に直面しています。私はX軸の価値を動的に取っています。チャートC3-チャートのX軸ティック

コード以下を参照してください。

chart = c3.generate({ 
    bindto: '#port_range_to_port_range', 
    data: { 
     x: 'x', 
     columns: [ 
      ['x','Ho Chi Minh City', 'Tanjung Priok (Jakarta)', 'Chennai', 'Chennai', 'Chennai'], 
      ['Your lowest rate', 530, 800, 900, 525, 190], 
      ['Benchmark rate', 241, 890, 254, 100, 149], 
      ['Lowest rate on route',200, 859, 256, 365, 410], 
     ], 
     type: 'bar' 
    }, 
    axis: { 
     x: { 
      type: 'category' // this needed to load string x value 
     }, 
     y: { 
      tick: { 
       format: d3.format("$,") 
      } 
     } 
    }, 
    legend: { 
     show: false 
    } 
}); 

あなたは、私がX軸に「チェンナイ」3回使用している上に見ることができます。より

columns: [ 
      ['x','Ho Chi Minh City', 'Tanjung Priok (Jakarta)', 'Chennai', 'Chennai', 'Chennai'], 

だから、問題は、グラフは、これらの重複する値が表示されていないプロットしますと、この(チェンナイ)が一つだけの時間を表示しているため、以下を参照してくださいと数字を印刷し、その時間を休みます。添付のグラフを参照enter image description here

+1

yを再現することはできません私たちの問題は、このフィドルを参照してください:https://jsfiddle.net/Dimmy/q2spv1mc/1/問題は持続するのですか? –

+0

私はちょうどc3.min.jsとその正常に動作して更新しました。以前は//cdn.jsdelivr.net/c3/0.4.11/c3.min.jsから電話していましたが、今はhttps://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10からダウンロードしました。 /c3.min.js。 –

答えて

0

0.4.11 c3.jsは同じカテゴリを1つにグループ化し始めているので、上記のコメントで分かりました。

ファスト問題を回避するには、以前のバージョンを使用するか、またはそれらが実際に異なるが、視覚的に同じに滞在するために、カテゴリ名に余分なスペースを追加するのいずれかである:

columns: [['x', 
    'Ho Chi Minh City', 
    'Tanjung Priok (Jakarta)', 
    'Chennai', 
    'Chennai ', // <-- here 
    'Chennai ' // <-- and here 
], 

あなたが動的にそれをしたい場合は、より適切な解決策がかもしれ繰り返しカテゴリにインデックスを追加:

columns: [['x', ... some dynamic data ] 
    .map(function(category, i, arr){ 
     var prev = arr.slice(0, i); 
     var count = prev.reduce(function(sum, item) { 
     if (item === category) return sum + 1; 
     else return sum; 
     }, 0); 

     if (count != 0) return category + '-' + count; 
     else return category; 
    }) 
] 

// will give you 
// [['x', 'Ho Chi Minh City', 'Tanjung Priok (Jakarta)', 
// 'Chennai', 'Chennai-1', 'Chennai-2']] 

See updated fiddle

+0

はい、これは私の知るところですが、すべてのカテゴリがデータベースから動的に来ています。だから、新しいc3.min.js.これを追加するのに不利な点はありますか? –

+0

古いバージョンに縛られていることの欠点は、将来のバグ修正やその他の有用な更新が見逃されることです。また、誰かがアップグレードを(意図的にまたは意図的に)実行した場合、機能が中断され、そのようなエラーを見つけて修正するのが難しい場合があります。 –

+0

私の答えとフィドルが更新され、ソリューションが動的に適用されました。私はそれが良いと思う。 –

関連する問題