创建dojo条形图的动态标签



我有一个条形图,其x轴标签是从db动态生成的,我通过ajax调用数据获得这些值{价值:1、文字:"x"},{值:2、文本:"Vikash"},{值:3、文本:"y"},{值:4、文本:"z"}"。如何将这些值传递给标签参数。我试着传递它作为一个数组,也作为json,但似乎没有工作。任何想法. .下面是我的代码:

makeBarChart=function() {
                        animChart = new dojox.charting.Chart2D("animChart");
                        animChart.setTheme(dojox.charting.themes.MiamiNice)
                        .addAxis("x",{
                            labels: [ myLabelSeriesarray ], gap: 20}).
                            addAxis("y", {
                            vertical: true,
                            fixLower: "major",
                            fixUpper: "major",
                            includeZero: true
                        }).
                            addPlot("default", {
                            type: "ClusteredColumns",
                            gap: 10
                        }).
                            addSeries("Series A", closedSeries).
                            addSeries("Series B", othersSeries).
                            render();
                    };
                dojo.addOnLoad(makeBarChart);

jsp code:

var labelDis = new Array(pieData.length); // pieData is the JSON value getting from Java
for(var i = 0;i<pieData.length;i++){
    labelDis[i] = new Array(2);
    labelDis[i]['value'] =  i + 1;
    labelDis[i]['text']  = pieData[i]['axis'];
}

Java/Servlet代码:

JSONObject jSONObject = new JSONObject();
jSONObject.put("axis", "value from database");
jSONArray.put(jSONObject);
out.print(jSONArray.toString());
Suppose you have received data in json format through ajax call and you want to create dynamic labels using that data.
var jsonArray= ["label1","label2","label3"];
var labelsArray = [];
for (var i = 0; i < jsonArray.length; i++,) {
    var obj = {};
    obj.value = i;
    obj.text = jsonArray[i];
    labelsArray.push(obj);
}
Set the labels in x Axis to this labelsArray
this.chart1.addAxis("x", {
title: "Collection Date",
titleOrientation: "away",
titleGap:20,
labels:labelsArray
})

最新更新