2012-04-17 6 views
1

URLで作成されたjson配列からdojo円グラフを作成しようとしています。 [[ "IPv4のTCP"、475919493840]、[ "IPv6のTCP"、37443255432]、[ "IPv4のUDP"、34595392128:URLで作成されたjson配列からDOJO円グラフを作成しようとしています

URLこの

{ "pieItems" のように見える配列を返します]、[ "IPv6のICMP"、14496]、[ "IPv4のICMP"、46560]、[ "IPその他"、12385112]]}

私は1つに変更するアレイの形式を再実行しようとしていますこのように見える

{"IPv4 TCP":[475919493840]、 "IPv6 TCP":[37443255432 ]、[IPv4 UDP]:[34595392128]、[IPv6 ICMP]:[14496]、[IPv4 ICMP]:[46560]、[IPその他]:[12385112]}。

Iのフォーマットを変更するために使用されるコードである:私はシリーズを追加し、名前を指定することによってアイテムにしてチャートを読み込むことができ

var len = responseObj.pieItems.length, i, hash = {}; 
    for (i = 0; i < len; i++) { 
     hash[responseObj.pieItems[i][0]] = responseObj.pieItems[i][1]; 
    } 

フォーマットを変更した後。

chart1.addSeries( "IPその他"、ハッシュ[ "IPv6のICMP"])

これはその1つのアイテムでチャートを移入が、私は、例えば、別の系列を追加しようとした場合

chart1.addSeries( "IPその他"、ハッシュ[ "IPv4のその他"])

これはグラフを上書きして、代わりに別のスライスを追加するIPその他のデータを示しています。

アレイのすべてのアイテムを円グラフに追加するにはどうすればよいですか?

答えて

1

円グラフは、定義によって1つのシリーズオブジェクトのみをサポートします。スライスごとに異なるデータポイントを追加する必要があります。スケッチ:

chart.addSeries("IP", dojo.map(responseObj, function(p){ 
    return { 
    y: p[1], // value 
    text: p[0] // label 
    }; 
}); 
+0

これは完璧に働いてくれてありがとう – asqwrd

+0

私はこれを棒グラフとしてどのようにしたいのですか?私は今、棒グラフを作成しようとしていますが、このマッピングはデータを表示していないようです – asqwrd

関連する問題