2012-03-19 9 views
2

私はActualCostとBudgetCostの2つの値を持っていると言います。その値を表示するためにClustered Columnsチャートを作成しました。今度はそれぞれのシリーズを2つ作った(私はそれらの伝説を作りたい)。各シリーズでなぜArrayで2つの値を使用する必要がありますか?Dojoチャート作成の問題:配列を使用した棒グラフ(ClusteredColumns)?

.addSeries([])のコード{y:0,tooltip:0}を使用しているとき、両方のバーを表示しても問題ありません。使用しないときは、1つのバーしか表示されません。なぜ私はこれを使用しなければならないのかを誰かが説明することができます(つまり、{y:0,tooltip:0})。

私は以下のコードスニペットとそのコードを作成しました。

dojo.require("dijit.layout.BorderContainer"); 
    dojo.require("dijit.layout.ContentPane"); 
    dojo.require("dijit.TitlePane"); 
    dojo.require("esri.dijit.Popup"); 
    dojo.require("dojox.charting.Chart2D"); 
    dojo.require("dojox.charting.plot2d.ClusteredColumns"); 
    dojo.require("dojox.charting.action2d.Tooltip"); 
    dojo.require("dojo.number"); 
    dojo.require("dijit.layout.TabContainer"); 
    dojo.require("dojox.charting.themes.Wetland"); 
    //... 
     function getTextContent(graphic) 
      var ActualCost; 
      var BudgetCost; 
      (parseFloat(jsonobject.Data.Actual_Total_Cost) == 'NaN') ? ActualCost=0 : 
      ActualCost=parseFloat(jsonobject.Data.Actual_Total_Cost); 
      (parseFloat(jsonobject.Data.Current_Budget) == 'NaN') ? BudgetCost=0 : 
      BudgetCost=parseFloat(jsonobject.Data.Current_Budget); 

      //display a dojo pie chart for the Project Cost 
      var CostPane = new dijit.layout.ContentPane({ 
       title: "Project Cost" 
       }); 
     tc.addChild(CostPane); 
     var costDiv = dojo.create("div", 
     { id:"cost",width: 300, height: 300}, dojo.create('div')); 
     var barchart = new dojox.charting.Chart2D(costDiv); 
     dojo.addClass(barchart,'chart'); 
     barchart.setTheme(dojo.getObject("dojox.charting.themes.Wetland")); 
     barchart.addPlot("default",{type: "ClusteredColumns",markers: true,gap: 10}); 
     //barchart.addAxis("x"); 
     barchart.addAxis("y", {vertical: true}); 

     new dojox.charting.action2d.Highlight(chart, "default"); 
     new dojox.charting.action2d.Tooltip(chart,"default"); 
     new dojox.charting.action2d.MoveSlice(chart,"default"); 

//Why using {y:0,tooltip:0} in the array?? 


    barchart.addSeries("Actual Cost", [ {y:ActualCost,tooltip:'Actual Cost =' + 
Math.round(ActualCost*100)/100}, {y:0,tooltip:0}]); 
     barchart.addSeries("Current Budget", [ {y:BudgetCost,tooltip:'Budget Cost =' + 
Math.round(BudgetCost*100)/100}, {y:0,tooltip:0}]); 
     barchart.render(); 
     CostPane.set('content',barchart.node); 
     deferred.callback(tc.domNode); 
              }, 

何人か助けてもらえますか?ありがとう

+0

誰でも回答できますか? – AbdulAziz

+0

おそらくjsFiddle(http://jsfiddle.net/)で問題を再現すると、人々はあなたの問題を簡単に見ることができます。 – GavinR

答えて

0

addSeriesメソッドは3つの引数を受け取り、2つ目はデータの配列です。そのため、配列を使用する必要があります。縦棒グラフのデータを示します。

関連する問題