J'ai modifié, plus de message d'erreur, le graphique s'affiche bien mais la moyenne annuelle
Code : Tout sélectionner
$conn=mysqli_connect($server,$user,$pass,$db);
$start=mktime(0,0,0,1,1,date("2015"));
$stop =mktime(23,59,59,12,31,date("2015"));
$sql = "SELECT round(avg(outdoortemperature),1) FROM `data`WHERE substr(recdatetz,1,4)='$annee';";
$query = mysqli_query($conn,$sql);
$row = mysqli_fetch_row($query);
$Temp_an = $row[0]*1 ;
$sql = "SELECT tstamp, AVG(t_out_moy), substr(recdateTZ,1,6) AS AnneeMois FROM `MiniMaxidata`WHERE tstamp > '$start' AND tstamp <= '$stop' GROUP BY AnneeMois";
$query = mysqli_query($conn,$sql);
$i=0;
while ($list = mysqli_fetch_assoc($query)) {
if (date("I",time())==0) {
$time[$i]=($list['tstamp']+3600)*1000;
}
else {
$time[$i]=($list['tstamp']+7200)*1000;
}
$Temp[$i]=$list['AVG(t_out_moy)']*1;
if (date("m",$time[$i]/1000)==1) {$NormaleMensuelle[$i]=1.5;}
elseif (date("m",$time[$i]/1000)==2) {$NormaleMensuelle[$i]=2.5;}
elseif (date("m",$time[$i]/1000)==3) {$NormaleMensuelle[$i]=6.2;}
elseif (date("m",$time[$i]/1000)==4) {$NormaleMensuelle[$i]=9.5;}
elseif (date("m",$time[$i]/1000)==5) {$NormaleMensuelle[$i]=13.7;}
elseif (date("m",$time[$i]/1000)==6) {$NormaleMensuelle[$i]=16.6;}
elseif (date("m",$time[$i]/1000)==7) {$NormaleMensuelle[$i]=19;}
elseif (date("m",$time[$i]/1000)==8) {$NormaleMensuelle[$i]=18.6;}
elseif (date("m",$time[$i]/1000)==9) {$NormaleMensuelle[$i]=14.7;}
elseif (date("m",$time[$i]/1000)==10) {$NormaleMensuelle[$i]=10.6;}
elseif (date("m",$time[$i]/1000)==11) {$NormaleMensuelle[$i]=5.4;}
elseif (date("m",$time[$i]/1000)==12) {$NormaleMensuelle[$i]=2.4;}
$Ecart[$i]=$Temp[$i]-$NormaleMensuelle[$i];
$i++;
}
$Normale=array(1.5, 2.5, 6.2, 9.5, 13.7, 16.6, 19, 18.6, 14.7, 10.6, 5.4, 2.4,null,null);
$Time=array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre","","Année");
$Temp=array($Temp[0],$Temp[1],$Temp[2],$Temp[3],$Temp[4],$Temp[5],$Temp[6],$Temp[7],$Temp[8],$Temp[9],$Temp[10],$Temp[11],$Temp[12],null,null);
$Normale_an= 10.1;
$Ecart=array($Ecart[0],$Ecart[1],$Ecart[2],$Ecart[3],$Ecart[4],$Ecart[5],$Ecart[6],$Ecart[7],$Ecart[8],$Ecart[9],$Ecart[10],$Ecart[11],$Ecart[12],null);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<HEAD>
<META NAME="SUBJECT" CONTENT="Graphique Vantage Pro Davis">
<META NAME="DESCRIPTION" CONTENT="graphique dynamique">
<META NAME="KEYWORDS" CONTENT=" mto, pluie, vent, temprature, temperature, station, Vantage, Davis, Pro, Davis Vantage Pro,pression, UV, soleil,">
<META NAME="REVISIT-AFTER" CONTENT="5 DAYS">
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=9" >
<META NAME="LANGUAGE" CONTENT="FR">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Météo Jarny (54)</title>
<!-- 1. Add these JavaScript inclusions in the head of your page -->
<script type="text/javascript" src="jquery/jquery.min.js"></script>
<script type="text/javascript" src="highcharts/js/highcharts.js"></script>
<script type="text/javascript" src="highcharts/js/themes/grid.js"></script>
<script type="text/javascript" src="highcharts/js/modules/exporting.js"></script>
<script type="text/javascript" src="jquery/overlib.js"></script>
<script type="text/javascript" src="jquery/overlib_fade.js"></script>
<!-- <script type="text/javascript" src="jquery/overlib.js"></script>
<script type="text/javascript" src="jquery/overlib_fade.js"></script> -->
<script type="text/javascript">
function comArr(unitsArray) {
var outarr = [];
for (var i = 0; i < dTime.length; i++) {
outarr[i] = [dTime[i], unitsArray[i]];
}
return outarr;
}
$(function () {
var chart;
$(document).ready(function() {
var highchartsOptions = Highcharts.setOptions(Highcharts.theme);
Highcharts.setOptions({
lang: {
months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
weekdays: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
shortMonths: ['Jan.', 'Fév.', 'Mars', 'Avr.', 'Mai', 'Juin', 'Juil.', 'Août', 'Sept.', 'Oct.', 'Nov.', 'Déc'],
exportButtonTitle: "Exporter",
printButtonTitle: "Imprimer",
rangeSelectorFrom: "Du:",
rangeSelectorTo: "A:",
rangeSelectorZoom: "Période:",
resetZoom: 'RAZ Zoom',
resetZoomTitle: 'Initialiser zoom ? 1:1',
downloadPNG: "Télécharger au format PNG image",
downloadJPEG: "Téléécharger au format JPEG image",
downloadPDF: "Télécharger au format PDF document",
downloadSVG: "Télécharger au format SVG vector image",
exportButtonTitle: "Exporter image ou document",
printButtonTitle: "Imprimer le graphique",
loading: "Chargement...",
thousandsSep: ""
}
});
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
zoomType: 'x',
type: 'column',
margin: [ 50, 70, 85, 80],
backgroundColor: {
linearGradient: [0, 500, 500, 0],
stops: [
[0, 'rgb(176, 176, 176)'],
[1, 'rgb(255, 255, 255)']
]
},
},
title: {
text: 'Température moyenne 2015 comparée aux normales 1981-2010'
},
subtitle: {
text: 'Source: Météo Jarny',
x: -20
},
credits: {
text: '© Météo Jarny',
href: 'http://www.meteo-jarny.com'
},
xAxis: {
categories: [
'Jan',
'Fév',
'Mar',
'Avr',
'Mai',
'Juin',
'Juil',
'Août',
'Sep',
'Oct',
'Nov',
'Déc',
'',
'Année'
],
labels: {
rotation: 0,
align: 'center',
style: {
fontSize: '13px',
fontFamily: 'Verdana, sans-serif'
}
}
},
yAxis: [{
title: {
text: ' température moyenne mensuelle',
},
labels: {
formatter: function() {
return this.value +' J.';
},
style: {
color: '#000000'
}
},
},
{
title: {
text: 'Température moyenne annuelle',
},
labels: {
formatter: function() {
return this.value +' °C';
},
style: {
color: '#000000'
}
},
opposite: true
}],
legend: {
enabled: true,
x: 0
},
tooltip: {
pointFormat: '{series.name}: <b>{point.y}</b><br/>',
valueDecimals: 1,
valueSuffix: ' °C',
shared: true
},
plotOptions: {
column: {
grouping: false,
shadow: false,
}
},
series: [{
name: 'température moyenne mensuelle',
data: comArr(dTemp),
pointPadding: -0.2,
color: {
linearGradient: { x1: 0, x2: 0, y1: 0, y1: 1 },
stops: [
[0, 'rgba(80, 120, 228, .7)'],
[1, 'rgba(255, 0, 0, .8)']
]
}
},{
type: 'spline',
color: '#ff8c00',
name: 'Normale',
data: comArr(dNormale),
lineWidth: 0,
marker :{
enbled: true,
symbol: 'circle',
radius: 3},
pointPadding: -0.3
},{
name: 'Ecart',
id : 'Ecart',
type: 'column',
color: {
linearGradient: { x1: 0, x2: 0, y1: 1, y1: 1.5 },
stops: [
[0, 'rgba(255, 0, 0, .9)'],
[1, 'rgba(255, 255, 0, .8)']
]
},
data: comArr(Ecart),
},{
name: 'température moyenne annuelle',
color: {
linearGradient: { x1: 0, x2: 0, y1: 0, y1: 1 },
stops: [
[0, 'rgba(56, 53, 253, .7)'],
[1, 'rgba(255, 0, 0, .8)']
]
},
data: [null,null,null,null,null,null,null,null,null,null,null,null,null, <?php echo $Temp_an;?>],
pointPadding: -0.2,
yAxis: 1
},{
name: 'Normale',
color: '#84e598',
data: [null,null,null,null,null,null,null,null,null,null,null,null,null,<?php echo $Normale_an;?>],
yAxis: 1
}]
});
});
});
eval(<?php echo "'var dTime = ".json_encode($Time)."'" ?>);
eval(<?php echo "'var dTemp = ".json_encode($Temp)."'" ?>);
eval(<?php echo "'var dNormale = ".json_encode($Normale)."'" ?>);
eval(<?php echo "'var dNormale_an = ".json_encode($Normale_an)."'" ?>);
eval(<?php echo "'var dTemp_an = ".json_encode($Temp_an)."'" ?>);
eval(<?php echo "'var Ecart = ".json_encode($Ecart)."'" ?>);
</script>
<style type="text/css">
.style1 {
text-align: left;
}
</style>
</head>
<body>
<table width="500" border="0" align="center">
<tr>
<td>
<div id="container" style="width: 600px; height: 300px; margin: 0 auto" class="style1"></div>
<div align="center"></div>
</td></tr></table>
</body>
</html>