![](/img/trans.png)
[英]How To Dynamically Add Arbitrary Number Of Line Series To WPF Toolkit Chart?
[英]How to dynamically add Series of data to line chart using high chart
來自webservice的數據是從BindTrend方法獲取的,並在綁定到圖表之前被解析為Json對象:我的代碼如下:
var plot;
var itemdata = [];
var chart;
var data = [];
$(document).ready(function () {
$.ajax({
type: "POST",
url: "ChartBinder.asmx/BindTrend",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
var newJ = $.parseJSON(msg.d);
DrawTrend(newJ);
},
error: function (msg) {
alert("Error");
}
});
})
function DrawTrend(plot) {
for (i = 0; i < plot.length; i++) {
var x = {}
x.id=plot[i].Name;
x.name = plot[i].Name;
x.data = [plot[i].Value];
itemdata.push(x);
}
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'line',
marginRight: 130,
marginBottom: 25
},
series: itemdata
});
}
請注意,當我對值'x.data=[1,2,3....]'
硬編碼時,我可以獲取圖表。 請幫助。
從您在注釋中提到的內容來看,您的plot [i]看起來像。Value是一個Strings
數組,它應該是數字/浮點數數組。 您可以按照以下方式在javascript中進行轉換。 另外,無需在值附近顯式添加[
& ]
,默認情況下,JS數組中包含該值。
for (i = 0; i < plot.length; i++) {
var x = {}
x.id=plot[i].Name;
x.name = plot[i].Name;
//plot[i].Value = ["3121", "21211", "3121", "21211", "21000", "9872", "83402", "83402", "28302", "109523", "2832", "9523"];
var stringArr=plot[i].Value;
var floatArr=[];
for(var j=0;j<stringArr.length;j++){
dobleArr.push(parseFloat(stringArr[j]);
}
x.data=floatArr;
itemdata.push(x);
}
我建議也通過Highcharts返回錯誤14
是因為您在'for'中聲明了x嗎?
var x = {}
function DrawTrend(plot) {
for (i = 0; i < plot.length; i++) {
x.id=plot[i].Name;
x.name = plot[i].Name;
x.data = [plot[i].Value];
itemdata.push(x);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.