シンプルな道場チャートにシリーズを追加します
-
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変数は正常に動作しますが、変換された変数は正常に動作しません。私は非常に単純なものを見逃しているに違いありません。この場合に動作するインバウンド文字列変数をキャストするにはどうすればよいですか?
解決
うん、それは簡単です: 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]);
}
PS:使用 string
識別子のように…間違っているようです。
所属していません StackOverflow