var option;
$(document).ready(function() {
$.getJSON("jsontest!returnMessage.action",function(data){
option = new Highcharts.Chart({
chart: {
renderTo: 'container',
//defaultSeriesType: 'column',
defaultSeriesType: 'line',
marginRight: 130,
marginBottom: 25
},
title: {
text:'高信宝网络安全卫士2011年销售一览表',
x: -20 //center
},
subtitle: {
text: '北京九合创胜',
x: -20
},
xAxis: {
categories: ['一月', '二月', '三月', '四月', '五月', '六月',
'七月', '八月', '九月', '十月', '十一月', '十二月']
},
yAxis: {
title: {
text: ' 销 售 台 数 '
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
formatter: function() {
return '<b>'+ this.series.name +'</b><br/>'+
this.x +': '+ this.y +'台';
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 0
},
series: [{
name: 'haha',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
}]
});
});
});定义了如上的 js代码 ,但是试了好几种写法,都不能获取到 series 的值,还有是如何给 series 这个属性赋值,比如我有几条json数据 { name: 'haha1',data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]}
{ name: 'haha2',data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]}
{ name: 'haha3',data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]}那么我这个代码该怎么写。试了好一阵子 ,未解,求助
}
$(document).ready(function() {
$.getJSON("jsontest!returnMessage.action",function(data){
option = new Highcharts.Chart({
chart: {
renderTo: 'container',
//defaultSeriesType: 'column',
defaultSeriesType: 'line',
marginRight: 130,
marginBottom: 25
},
title: {
text:'高信宝网络安全卫士2011年销售一览表',
x: -20 //center
},
subtitle: {
text: '北京九合创胜',
x: -20
},
xAxis: {
categories: ['一月', '二月', '三月', '四月', '五月', '六月',
'七月', '八月', '九月', '十月', '十一月', '十二月']
},
yAxis: {
title: {
text: ' 销 售 台 数 '
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
formatter: function() {
return '<b>'+ this.series.name +'</b><br/>'+
this.x +': '+ this.y +'台';
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 0
},
series: [{
name: 'haha',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
}]
});
});
});定义了如上的 js代码 ,但是试了好几种写法,都不能获取到 series 的值,还有是如何给 series 这个属性赋值,比如我有几条json数据 { name: 'haha1',data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]}
{ name: 'haha2',data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]}
{ name: 'haha3',data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]}那么我这个代码该怎么写。试了好一阵子 ,未解,求助
}
主要就是把横纵坐标的数据放在两个数组,然后放到对应的地方。
还弄不出来可以看官方实例。
var Periods = new Array();
var Amounts = new Array(); for (var i = 0; i < data.length; i++) {
Periods.push(data[i].Period);
Amounts.push(data[i].Num);
} chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
defaultSeriesType: 'column',
marginRight: 130,
marginBottom: 25
},
title: {
text: 'test',
x: -20 //center
},
subtitle: {
text: '',
x: -20
},
xAxis: {
categories: Periods
},
yAxis: {
title: {
text: 'Amount'
},
plotLines: [{
value: 0,
width: 0,
color: '#808080'
}]
},
tooltip: {
formatter: function () {
return '<b>' + this.series.name + '</b><br/>' +
this.x + ': ' + this.y + ' Sticker(s)';
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 1
},
series: [{
name: 'Stickers',
data: Amounts
}]
});
var Amounts = new Array(); for (var i = 0; i < data.length; i++) {
Periods.push(data[i].Period);
Amounts.push(data[i].Num);
}
.....
xAxis: {
categories: Periods
},
......
series: [{
name: 'serial',
data: Amounts
}]
......
[/code]
是这样 我加载
$(document).ready(function(){
var option;
$.getJSON("jsontest!returnMessage.action",function(data){
str.push(7.0,6.9,9.5,14.5,9.6,6.8,6.8,6.5,7.8,12,21,23);
alert(str);
option = new Highcharts.Chart({
chart: {
renderTo: 'container',
//defaultSeriesType: 'column',
defaultSeriesType: 'line',
marginRight: 130,
marginBottom: 25
},
title: {
text:'高信宝网络安全卫士2011年销售一览表',
x: -20 //center
},
subtitle: {
text: '北京九合创胜',
x: -20
},
xAxis: {
categories: ['一月', '二月', '三月', '四月', '五月', '六月',
'七月', '八月', '九月', '十月', '十一月', '十二月']
},
yAxis: {
title: {
text: ' 销 售 台 数 '
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
formatter: function() {
return '<b>'+ this.series.name +'</b><br/>'+
this.x +': '+ this.y +'台';
}
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 0
},
series: [{
name: 'aaa',
data: str
}]
});
});
能正常显示图表
但是如果我采用 从action传来的数据 var getJson =data.month;//7.0,6.9,9.5,14.5,9.6,6.8,6.8,6.5,7.8,12,21,23
var getArray = getJson.split(",");
var str = new Array();
for(var i=0;i<getArray.length;i++){
str.push(getArray[i]);
}
这样的话
在series: [{
name: 'aaa',
data: str
}]
就什么都不显示 , 郁闷 求解,就在于这个 str数据
str里面每个元素类行是Numbervar getArray = getJson.split(",");
getArray里面每个元素是string没有测试,但感觉这个就是主要原因。
series: [{
name: '22',
data: (function () {
for (var i = 0; i < dt.length; i++) {
if (dt[i].name == "22")
return dt[i].UsedTime;
}
})()
}, {
name: '11',
data: (function () {
for (var i = 0; i < dt.length; i++) {
if (dt[i].name == "11")
return dt[i].FreeTime;
}
})(),
color: '#FFFFFF'
}]