Javascript 向海图发送数据
我需要循环遍历数据,将其捕获到变量中,然后将其发送到HighCharts 但是我做不到 有人能帮忙吗 这是我的密码:Javascript 向海图发送数据,javascript,highcharts,Javascript,Highcharts,我需要循环遍历数据,将其捕获到变量中,然后将其发送到HighCharts 但是我做不到 有人能帮忙吗 这是我的密码: $.ajax({ type: "POST", url: "/", data : { 'perfid': valueOne, 'hostname': $("#host").val(), 'iteration': valueThree}, success: function(data) { $('#img1').hide(); var obj = da
$.ajax({
type: "POST",
url: "/",
data : { 'perfid': valueOne, 'hostname': $("#host").val(), 'iteration': valueThree},
success: function(data) {
$('#img1').hide();
var obj = data[$("#host").val()].iscsi_lif.result.sectoutput.sect;
for(var key in obj) {
var avg_latency = parseInt(obj[key].avg_latency);
i++;
console.log(avg_latency);
}
$('#graphcontainer2').highcharts({
chart: {
type: 'column'
},
title: {
text: 'Write Latencies'
},
xAxis: {
type: 'category',
labels: {
rotation: -45,
style: {
fontSize: '13px',
fontFamily: 'Verdana, sans-serif'
}
}
},
yAxis: {
min: 0,
title: {
text: 'Write Latencies(us)'
}
},
legend: {
enabled: false
},
tooltip: {
pointFormat: 'Write Latencies: <b>{point.y:.1f}%</b>'
},
series: [{
name: 'Write latency',
data: [
['Average Latency', parseInt(avg_latency)],
],
dataLabels: {
enabled: true,
rotation: -90,
color: '#FFFFFF',
align: 'right',
format: '{point.y:.1f}', // one decimal
y: 10, // 10 pixels down from the top
style: {
fontSize: '13px',
fontFamily: 'Verdana, sans-serif'
}
}
}]
});
$.ajax({
类型:“POST”,
网址:“/”,
数据:{'perfid':valueOne,'hostname':$(“#host”).val(),'iteration':valueThree},
成功:功能(数据){
$('#img1').hide();
var obj=data[$(“#主机”).val()].iscsi_lif.result.sectoutput.sect;
for(obj中的var键){
var avg_latency=parseInt(obj[key].avg_latency);
i++;
console.log(平均延迟);
}
$(“#graphcontainer2”).高图表({
图表:{
类型:“列”
},
标题:{
文本:“写入延迟”
},
xAxis:{
类型:'类别',
标签:{
轮调:-45,
风格:{
fontSize:'13px',
fontFamily:“Verdana,无衬线”
}
}
},
亚克斯:{
分:0,,
标题:{
文本:“写入延迟(us)”
}
},
图例:{
已启用:false
},
工具提示:{
pointFormat:'写入延迟:{point.y:.1f}%'
},
系列:[{
名称:“写入延迟”,
数据:[
[“平均延迟”,parseInt(平均延迟)],
],
数据标签:{
启用:对,
轮换:-90,
颜色:“#FFFFFF”,
对齐:“右”,
格式:'{point.y:.1f}',//一位小数
y:10,//从顶部向下10像素
风格:{
fontSize:'13px',
fontFamily:“Verdana,无衬线”
}
}
}]
});
以下是控制台平均延迟值的屏幕截图:
我想显示所有平均延迟的图形。
有人能指出我在这段代码中做错了什么吗。
谢谢。您应该将字典中的数据列表传递到highchart系列,请尝试以下操作:
$.ajax({
type: "POST",
url: "/",
data : { 'perfid': valueOne, 'hostname': $("#host").val(), 'iteration': valueThree},
success: function(data) {
$('#img1').hide();
var obj = data[$("#host").val()].iscsi_lif.result.sectoutput.sect;
var my_data_list = [];
for(var key in obj) {
var avg_latency = parseInt(obj[key].avg_latency);
my_data_list.push({name: 'Average Latency', y: parseInt(avg_latency)});
console.log(avg_latency);
}
$('#graphcontainer2').highcharts({
chart: {
type: 'column'
},
title: {
text: 'Write Latencies'
},
xAxis: {
type: 'category',
labels: {
rotation: -45,
style: {
fontSize: '13px',
fontFamily: 'Verdana, sans-serif'
}
}
},
yAxis: {
min: 0,
title: {
text: 'Write Latencies(us)'
}
},
legend: {
enabled: false
},
tooltip: {
pointFormat: 'Write Latencies: <b>{point.y:.1f}%</b>'
},
series: [{
name: 'Write latency',
data: my_data_list,
dataLabels: {
enabled: true,
rotation: -90,
color: '#FFFFFF',
align: 'right',
format: '{point.y:.1f}', // one decimal
y: 10, // 10 pixels down from the top
style: {
fontSize: '13px',
fontFamily: 'Verdana, sans-serif'
}
}
}]
});
$.ajax({
类型:“POST”,
网址:“/”,
数据:{'perfid':valueOne,'hostname':$(“#host”).val(),'iteration':valueThree},
成功:功能(数据){
$('#img1').hide();
var obj=data[$(“#主机”).val()].iscsi_lif.result.sectoutput.sect;
var my_data_list=[];
for(obj中的var键){
var avg_latency=parseInt(obj[key].avg_latency);
my_data_list.push({name:'Average Latency',y:parseInt(avg_Latency)});
console.log(平均延迟);
}
$(“#graphcontainer2”).高图表({
图表:{
类型:“列”
},
标题:{
文本:“写入延迟”
},
xAxis:{
类型:'类别',
标签:{
轮调:-45,
风格:{
fontSize:'13px',
fontFamily:“Verdana,无衬线”
}
}
},
亚克斯:{
分:0,,
标题:{
文本:“写入延迟(us)”
}
},
图例:{
已启用:false
},
工具提示:{
pointFormat:'写入延迟:{point.y:.1f}%'
},
系列:[{
名称:“写入延迟”,
数据:我的数据列表,
数据标签:{
启用:对,
轮换:-90,
颜色:“#FFFFFF”,
对齐:“右”,
格式:'{point.y:.1f}',//一位小数
y:10,//从顶部向下10像素
风格:{
fontSize:'13px',
fontFamily:“Verdana,无衬线”
}
}
}]
});
您应该将一个数据数组传递给highchart数据,但听起来您只传递了一个数据。@VahidMsm我尝试了数组,但在尝试传递数组后显示了显示,但没有显示任何内容,您可以为此发布一个JSFIDLE吗?TIAIt现在可以工作了:)谢谢,我知道如何将数据作为系列传递。你今天让一个人很开心@vahidmm