2017-01-19 1 views
0

C3の折れ線グラフに2つのものが追加されました.1つは「結果」、もう1つは「lostpackets」です。私が線グラフにそれらのいずれかを入れると、グラフが正しく動作し、線が正しく表示されます。これは、データが両方のデータセットで正しく処理されていることを示しています。複数のデータセットをC3グラフに追加すると、表示されなくなる

残念ながら、私は同じグラフ上に複数の行を表示することはできません。私が両方のグラフを同じグラフ上に表示しても、結果は表示されません(グラフ軸はまだ正しく表示されます)。私はthis syntaxをコピーしようとしました。ここで

は(コメントアウト行ではなく、両方を持つよりも、単一のデータ入力である)コードです:

chart = c3.generate({ 
       bindto: container, 
       data: { 
        //columns: [results] 
        columns: [ 
         [results], 
         [lostpackets] 
        ], 
        axes: { 
         [results[0]]: 'y', 
         [lostpackets[0]]: 'y2' 
        } 
       }, 
       axis: { 
        x: { 
         label: 'Test No.' 
        }, 
        y: { 
         label: { 
          text: 'Mbps', 
          position: 'outer-top' 
         }, 
         tick: { 
          format: d3.format('.2f') 
         } 
        }, 
        y2: { 
         show: true, 
         label: { 
          text: '%', 
          position: 'outer-top' 
         }, 
         tick: { 
          format: d3.format('.2f') 
         } 
        } 
       } 
      }); 

答えて

1

私はあなたがあまりにも多くの回数、すなわち[[配列]、[配列]]というが入れ子になったと思いますちょうど[配列、配列]

よりもそれは次のようになります。

   columns: [ 
        results, 
        lostpackets 
       ], 

も軸がプロパティ名として結果[0]のようなものをピックアップしません。明示的に定義する必要があります。

   axes: { 
        "results": 'y', 
        "lostpackets": 'y2' 
       } 
+0

ありがとうございました!これはうまくいった。結果[0]を使用しているのは、以前に " " results.unshift( 'Throughput(Mbps)'); " - おそらく悪い習慣です。 – BenAdamson

+1

c3.generate関数の外で変数を次のように宣言することができます: 'var axisData = {}; axisData [results [0]] = "y"; axisData [lostpackets [0]] = "y2"; 'それを後で参照する、すなわちaxes:axisData' – mgraham

関連する問題