我剛開始學習JQuery和Highcharts。我用靜態數據創建了一個多Y軸高分佈圖。我想能夠將數據從java傳遞到系列數據。我該怎麼做?我如何讓JQuery代碼從我的java類中獲取數據並將其加載到高圖中。以下是我的代碼:將Java中的系列數據傳遞給Y軸Highcharts
// MultiY.js
$(document).ready(function() {
chart1 = new Highcharts.Chart({
chart: {
renderTo: 'chart_1',
height: 350,
},
title: {
text: 'Sample Highcharts'
},
xAxis: {
categories: ['4/28/2013', '4/29/2013', '4/30/2013', '5/1/2013', '5/2/2013', '5/3/2013', '5/4/2013']
},
yAxis: [{
opposite: true,
title: {
text: 'Cost',
style: {
color: '#dbf400'
}
},
labels: {
style: {
color: '#dbf400'
}
},plotOptions: {
series: {
pointWidth: 20
}
}
},
{
lineWidth: 2,
title: {
text: 'Silver',
style: {
color: '#89A54E'
}
},
labels: {
style: {
color: '#89A54E'
}
}
}, {
lineWidth: 2,
opposite: true,
title: {
text: 'Gold',
style: {
color: '#4572A7'
}
},
labels: {
style: {
color: '#4572A7'
}
}
}, {
lineWidth: 2,
opposite: true,
title: {
text: 'Score',
style: {
color: '#AA4643'
}
},
labels: {
style: {
color: '#AA4643'
}
}
}],
series: [ {
name: 'Cost',
type: 'column',
color: '#dbf400',
data: [65078.70, 70816.51, 71211.22, 56130.71, 67839.10, 59170.91, 52826.47] ,
yAxis: 3
}, {
name: 'Silver',
type: 'spline',
color: '#89A54E',
dashStyle: 'shortdot',
data: [6357434, 7190915, 6737487, 6001323, 8628154, 7446175, 5953040]
}, {
name: 'Gold',
type: 'spline',
color: '#4572A7',
data: [2652304, 2862748, 2645867, 2506507, 2531869, 2352410, 2127584] ,
yAxis: 1
}, {
name: 'Score',
type: 'spline',
color: '#AA4643',
data: [57994, 68114, 64582, 26526, 52712, 55464, 46802] ,
yAxis: 2
}]
});
});
我的Java函數返回:
trendingData.add(new TrendingDataObjects(silver, gold, score, cost, day));
我想你可能會這樣做:1)使用AJAX,從jQuery可能是get()或getJSON()。我建議使用第二。 2)在您的Java類添加庫導出到JSON,並編碼爲該格式。 3)將AJAX請求連接到將返回該JSON的URL。 4)要添加新系列,請使用[chart.addSeries](http://api.highcharts.com/highcharts#Chart.addSeries())或爲現有系列設置新數據[chart.series.setData](http: //api.highcharts.com/highcharts#Series.setData()) –
我跟隨你的建議。我寫了一個ajax函數並獲得了json數據。我嘗試使用以下方法創建系列數據: 'success:function(data){ \t chart.xAxis [0] .setCategories(data.timestamp); ) \t chart.addSeries({「Cost」, data:data.cost \t});' 但現在圖表不加載:( – Praveen
data.timestamp應該是一個字符串數組(例如:[['a','b','c']'),data.cost應該是一個點數組(例如:'[123,145,156]')。你確定這是你的JSON格式的數據嗎?你可以顯示你的JSON數據樣本嗎? –