フォームにajaxイベントを含むHighchartsを表示するためにCI(+ HMVC)を使用しています。
私のpbは、チャートの有効なシリーズを作成することです。mysqlDBから6シリーズを作成する必要があります。私のチャートコードは 、jqueryを使用してjsonarraryを呼び出す際の空白ページのhighchartによって引き起こされます。
マイビュー(<?=$instance_graph?>
複数のチャートをインスタンス化できるようにしたいので、どこにでもあります)
$(document).ready(function() {
$('#submit<?=$instance_graph?>').click(function() {
$('#rendu_graph<?=$instance_graph?>').html('');
var form_data = {
from : $('#from[name=from<?=$instance_graph?>]').val(),
to : $('#to[name=to<?=$instance_graph?>]').val(),
parametre : $('#parametre[name=parametres<?=$instance_graph?>]').val(),
ajax : '1'
};
$.ajax({
url: "<?= site_url('graph_meteo/ajax_graph'); ?>",
type: 'POST',
async : false,
data: form_data,
dataType:'json',
success: function(data) {
//alert(msg) ;
//$('#rendu_graph<?=$instance_graph?>').html(msg);
var chartSeriesData=[];
$.each(data, function(i,item){
var series_name = item.name;
var series_data = item.data;
var series = {data: item.data,name:series_name};
chartSeriesData.push(series);
});
console.log(chartSeriesData) ;
chart = new Highcharts.Chart({ //Début du Highchar
chart: {
renderTo: 'rendu_graph<?=$instance_graph?>',
type: 'spline'
},
title: {
text: 'Graph'
},
subtitle: {
text: 'Title'
},
xAxis: {
type: 'datetime'
},
yAxis: {
title: {
text: 'param 1'
}
},
tooltip: {
formatter: function () {
return '<b>' + this.series.name + '</b><br/>' + Highcharts.dateFormat('%a %d %b %H:%M', this.x) + ': ' + this.y + ' m';
}
},
series: chartSeriesData
})
作成されたシリーズのconsole.log:
[Object { data="[Date.UTC(2013,02,06,14,15),65.09375]", name="Station 1"}, Object { data="[Date.UTC(2013,02,06,14,15),65.09375]", name="Station 1"}, Object { data="[Date.UTC(2013,02,06,14,15),65.09375]", name="Station 1"}, Object { data="[Date.UTC(2013,02,06,14,30),63.425]", name="Station 1"}.
そしてもちろん、プロットのないオブジェクトごとに1つのシリーズがあります。
編集:私はこれらのデータ(1行)でうまく機能するグラフを作成する方法を探しています。コードを多くの行/シリーズで機能させたいです。私の大きな目標は、クエリ結果からチャートシリーズ形式までを開始することです。例は良い答えかもしれません。
私が怒る前にあなたが私を助けてくれることを願っています!