Hinzufügen einer Serie zu einem einfachen Dojo-Chart
-
29-09-2019 - |
Frage
Ich habe eine einfache Funktion aufgebaut, die Diagramme mit dojox.charting programmatisch aufbaut. Ich bin ein wenig verwirrt, wie richtig Guss Variablen, wenn sie auf der Karte via addSeries vorbei. Bedenken Sie:
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
Beachten Sie, dass die Testdaten Variable funktioniert gut, aber die convertedString Variable nicht. Ich muss etwas sehr einfach fehlen. Wie würde ich warf ein eingehendes String-Variable an der Arbeit in diesem Fall?
Lösung
Ja, es ist einfach. testData
ist die Anordnung von Zahlen, während convertedString
das String-Array ist
Sie können diese Strings in Zahlen so konvertieren:
var convertedString = dojo.map(string.split(","), parseFloat);
Oder Sie können es manuell tun:
var convertedString = string.split(",");
for(var i = 0; i < convertedString.length; ++i){
convertedString[i] = parseFloat(convertedString[i]);
}
PS:. Mit string
wie in Kennung scheint ... falsch
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow