如何在Dojo Spider Chart的addSeries()方法中传递JSON对象

时间:2011-08-12 16:17:52

标签: json dojox.charting dojo

我正在尝试使用dojo图表库实现蜘蛛图表。我正在使用dojo的一个虚拟示例:http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/charting/tests/test_spider2d.html

它使用addSeries方法,如下所示:

chart1.addSeries("China", {data: {"GDP": 2,"area": 6,"population": 2000,"inflation": 15,"growth": 12}}, { fill: "blue" });
chart1.addSeries("France", {data: {"GDP": 6,"area": 15,"population": 500,"inflation": 5,"growth": 6}}, { fill: "red" });
chart1.addSeries("USA", {data: {"GDP": 3,"area": 20,"population": 1500,"inflation": 10,"growth": 3}}, { fill: "green" });

..等等..

chart1.render();

但我想动态传递数据。我的数据如下:

var obj1 = [{
        "qNo": "THR1", 
        "qAns": "3"
    }, {
        "qNo": "THR2", 
        "qAns": "3"
    }, {
        "qNo": "THR3", 
        "qAns": "1"
    }, {
        "qNo": "THR4", 
        "qAns": "3"
    }, {
        "qNo": "THR5", 
        "qAns": "3"
    }, {
        "qNo": "THR7", 
        "qAns": "3"
    }
];

我的obj2也有相同的结构,但qAns值不同 所以我想用obj1和obj2代替上面例子中给出的“中国”和“法国”。
所以我想要像

这样的东西
chart1.addSeries("obj1", {data: {obj1 data needs to go here but how?}}, { fill: "blue" });
chart1.addSeries("obj2", {data: {obj1 data needs to go here but how?}}, { fill: "red" });

你能帮我解释一下我用什么语法在addSeries方法中传入obj变量吗?我有一个小想法,我需要将它用作JSON对象并将其转换为数据存储区并传入数据存储区,但我无法使语法正常工作。

请帮忙!非常感谢。 此致

2 个答案:

答案 0 :(得分:0)

我从未使用过图表,但我会寻找一些与DataGrids相关的例子,这些例子更为普遍。例如,请参见:Dojo grid nested json

答案 1 :(得分:0)

谢谢,通过使用类似的方式使其工作:

chart1.addSeries("SeriesName", data1[0], { fill: "transparent" }); 

AND data1[0]是动态创建的json对象,如{'Label1':Value1, 'Label2':Value2...etc.}