iT邦幫忙

0

[已解決] Highcharts 動態圖表不顯示

各位大大,我想請教一下,為何我使用$.get取得txt內的數字作為變數y,返回給Highcharts的series去addPoint,卻什麼也得不到,畫面是空的。
已試著輸出得到的變數y,是有值的,且將變數y直接設為數字,addPoint卻又正常了。
已經在網路上找詢原因及答案2天了,真的眼睛都看到痛了才來這裡發問,不好意思還請各位大大協助了,謝謝。


自己都講出來是類型的問題,只是不知道是哪個語法,原來是parseInt(),轉換成數字後就正常了。

Highcharts.setOptions({
	global: {
		useUTC: false
	}
});
Highcharts.chart('container', {
	chart: {
		type: 'spline',
		animation: Highcharts.svg, // don't animate in old IE
		marginRight: 10,
		events: {
			load: function () {
				// set up the updating of the chart each second
				var series = this.series[0];
				setInterval(function () {
					$.get('diotemp.txt',function(y){ // <---變數y
						x = (new Date()).getTime(), // current time
						series.addPoint([x,y], true, true); // <---問題點
					});
				}, 1000);
			}
		}
	},
	title: {
		text: 'CSQ Value'
	},
	xAxis: {
		type: 'datetime',
		tickPixelInterval: 150
	},
	yAxis: {
		title: {
			text: 'Value'
		},
		plotLines: [{
			value: 0,
			width: 1,
			color: '#808080'
		}]
	},
	tooltip: {
		formatter: function () {
			return '<b>' + this.series.name + '</b><br/>' +
			Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' +
			Highcharts.numberFormat(this.y, 2);
		}
	},
	legend: {
		enabled: false
	},
	exporting: {
		enabled: false
	},
	series: [{
		name: 'CSQ',
		data: (function () {
			// generate an array of random data
			var data = [],
			time = (new Date()).getTime(),
			i;
			for (i = -19; i <= 0; i += 1) {
				data.push({
					x: time + i * 1000,
					y: 0
				});
			}
			return data;
		}())
	}]
});

尚未有邦友回答

立即登入回答