+ function start_windspeed() {
+ windspeed = new Highcharts.Chart({
+ chart: {
+ type: 'gauge',
+ renderTo: 'windspeed',
+ plotBackgroundColor: null,
+ plotBackgroundImage: null,
+ plotBorderWidth: 0,
+ plotShadow: false
+ },
+
+ title: {
+ text: 'Wind Speed'
+ },
+
+ pane: {
+ startAngle: -150,
+ endAngle: 150,
+ background: [{
+ backgroundColor: {
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
+ stops: [
+ [0, '#FFF'],
+ [1, '#333']
+ ]
+ },
+ borderWidth: 0,
+ outerRadius: '109%'
+ }, {
+ backgroundColor: {
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
+ stops: [
+ [0, '#333'],
+ [1, '#FFF']
+ ]
+ },
+ borderWidth: 1,
+ outerRadius: '107%'
+ }, {
+ // default background
+ }, {
+ backgroundColor: '#DDD',
+ borderWidth: 0,
+ outerRadius: '105%',
+ innerRadius: '103%'
+ }]
+ },
+
+ // the value axis
+ yAxis: {
+ min: 0,
+ max: 50,
+
+ minorTickInterval: 'auto',
+ minorTickWidth: 1,
+ minorTickLength: 10,
+ minorTickPosition: 'inside',
+ minorTickColor: '#666',
+
+ tickPixelInterval: 30,
+ tickWidth: 2,
+ tickPosition: 'inside',
+ tickLength: 10,
+ tickColor: '#666',
+ labels: {
+ step: 2,
+ rotation: 'auto'
+ },
+ title: {
+ text: 'mph'
+ },
+ plotBands: [{
+ from: 0,
+ to: 15,
+ color: '#55BF3B' // green
+ }, {
+ from: 16,
+ to: 29,
+ color: '#DDDF0D' // yellow
+ }, {
+ from: 30,
+ to: 50,
+ color: '#DF5353' // red
+ }]
+ },
+ exporting: {
+ buttons: {
+ contextButton: {
+ enabled: false
+ }
+ }
+ },
+
+ series: [{
+ name: 'Speed',
+ data: [0],
+ tooltip: {
+ valueSuffix: ' mph'
+ }
+ }]
+ });
+ }
+
+ function start_winddir() {
+ winddir = new Highcharts.Chart({
+ chart: {
+ type: 'gauge',
+ renderTo: 'winddir',
+ plotBackgroundColor: null,
+ plotBackgroundImage: null,
+ plotBorderWidth: 0,
+ plotShadow: false
+ },
+
+ title: {
+ text: 'Wind Direction'
+ },
+
+ pane: {
+ startAngle: 0,
+ endAngle: 360,
+ background: [{
+ backgroundColor: {
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
+ stops: [
+ [0, '#FFF'],
+ [1, '#333']
+ ]
+ },
+ borderWidth: 0,
+ outerRadius: '109%'
+ }, {
+ backgroundColor: {
+ linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
+ stops: [
+ [0, '#333'],
+ [1, '#FFF']
+ ]
+ },
+ borderWidth: 1,
+ outerRadius: '107%'
+ }, {
+ // default background
+ }, {
+ backgroundColor: '#DDD',
+ borderWidth: 0,
+ outerRadius: '105%',
+ innerRadius: '103%'
+ }]
+ },
+
+ // the value axis
+ yAxis: {
+ min: 0,
+ max: 359,
+
+ minorTickInterval: 'auto',
+ minorTickWidth: 1,
+ minorTickLength: 10,
+ minorTickPosition: 'inside',
+ minorTickColor: '#666',
+
+ tickPixelInterval: 15,
+ tickWidth: 2,
+ tickPosition: 'inside',
+ tickLength: 10,
+ tickColor: '#666',
+ labels: {
+ step: 2,
+ rotation: 'auto'
+ },
+ title: {
+ text: '° deg'
+ },
+ },
+ exporting: {
+ buttons: {
+ contextButton: {
+ enabled: false
+ }
+ }
+ },
+
+ series: [{
+ name: 'Direction',
+ data: [0],
+ tooltip: {
+ valueSuffix: ' ° deg'
+ }
+ }]
+ });
+ }
+
+ function fill_daychart(js, days) {
+ var rainfall = daychart.series[0].data.length > (days * 48);
+ var pressure = daychart.series[1].data.length > (days * 48);
+ var temp = daychart.series[2].data.length > (days * 48);