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?

War es hilfreich?

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
scroll top