إضافة سلسلة إلى مخطط دوجو بسيط
-
29-09-2019 - |
سؤال
لقد أنشأت وظيفة بسيطة تقوم ببناء الرسوم البيانية برمجيًا باستخدام dojox.charting. أنا في حيرة بعض الشيء حول كيفية إلقاء المتغيرات بشكل صحيح عند تمريرها إلى المخطط عبر AddSeries. النظر في هذا:
function buildChart(targetDiv){
//grab the destination
var bc = dojo.byId(targetDiv);
//define the data for the series
var testData = [2,4,2,2,2,3,2,10,11,12,8,4];
var string = "2,4,2,2,2,3,2,10,11,12,8,4";
var convertedString = string.split(",");
console.log("Variable testData value is " + typeof(testData));
console.log("Variable convertedString value is " + typeof(convertedString));
//build the chart
dojo.attr(bc,"style","width:300px;height:200px;");
var chart = new dojox.charting.Chart2D(bc);
chart.addPlot("default", {type: "Lines"});
chart.addAxis("x");
chart.addAxis("y", {vertical: true});
//chart.addSeries("Series 1 works fine", testData);
chart.addSeries("Series 2 not working", convertedString);
chart.render();
}//buildChartenter code here
لاحظ أن متغير TestData يعمل بشكل جيد ، لكن متغير ConverttedString لا. يجب أن أفتقد شيئًا بسيطًا جدًا. كيف يمكنني إلقاء متغير سلسلة داخلي للعمل في هذه الحالة؟
المحلول
نعم ، من السهل: testData
هي مجموعة الأرقام ، بينما convertedString
هي مجموعة من الأوتار.
يمكنك تحويل تلك الأوتار إلى أرقام كهذه:
var convertedString = dojo.map(string.split(","), parseFloat);
أو يمكنك القيام بذلك يدويًا:
var convertedString = string.split(",");
for(var i = 0; i < convertedString.length; ++i){
convertedString[i] = parseFloat(convertedString[i]);
}
ملاحظة: باستخدام string
كما في المعرف يبدو ... خطأ.
لا تنتمي إلى StackOverflow