0

私は現在、D3データの視覚化の最初の一歩を踏み出しています。これまでのところ、D3チュートリアルは私を大いに助けてくれました。円グラフのチュートリアルhttp://bl.ocks.org/mbostock/3887235は、円グラフに必要なデータ構造については詳しく説明していません。

私のデータは、例のラベル/値の構造よりも複雑です。JSONに保存されている特定の商品の年間総輸入データと輸入データがあります。

var data = [{"year":"2001","total_import":"100000","import_specific_good":"25000"},{"year":"2002",...}];

チュートリアルを正しく理解していれば、pie()は各DIFFERENTオブジェクトの同じエントリを繰り返し処理します。

SAMEオブジェクトの特定の異なる値が必要な場合はどうなりますか?

私は、すべての年間総輸入量を部分として表示するパイには興味がありませんが、特定の商品の年間総輸入量を年間総輸入量の一部として表示することに興味があります。私の値は1.(total_import --import_specific_good)と2.import_specific_goodになります。

提案されたデータ構造は、私がやりたいことに対して正しいですか?または、毎年の値が別の変数に格納されるように、すべてを再構築する必要がありますか?

var data_2001 = [{"label":"Total Import","value":"100000"},{"label":"Import of Specific Good","value":"25000"}];

var data_2002 = [{"label": ...}];
4

1 に答える 1

0

特定のデータ構造を使用する必要はありません。例を変更して、好きなものを使用できるようにすることができます(とにかく変更する必要があります)。したがって、最初のJSONを問題なく使用できます。表示する値は2つしかないため、その場で渡す構造を簡単に作成できます.data()

// for pie chart
...data([json[index].total_import - json[index].import_specific_good,
         json[index].import_specific_good])...
...
// similarly for the labels

ただし、JSONでは数値を数値(引用符なしなど)として保存することをお勧めします。そうしないと、Javascriptで数値に変換する必要があります。

于 2013-03-04T12:18:38.870 に答える