2
簡而言之,我有2個ActualCost和BudgetCost的值,我製作了一個Clustered Columns圖表來顯示它們的值。現在我爲他們每個人製作了兩個系列(我想爲他們製作傳奇)。在每個系列中,爲什麼我必須在Array中使用兩個值?Dojo-Charting問題:條形圖(ClusteredColumns)使用數組?
當我使用.addSeries([])
代碼{y:0,tooltip:0}
,它做工精細的同時顯示酒吧,當我不使用它,它只能顯示單杆。有人可以解釋爲什麼我必須使用它(即{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);
},
有人可以幫忙嗎?謝謝
任何一個答案都可以嗎? – AbdulAziz 2012-03-20 13:35:16
也許在jsFiddle(http://jsfiddle.net/)中重新創建您的問題可以讓人們輕鬆看到您的問題。 – GavinR 2012-10-08 20:54:31