Javascript Highcharts图表即使在指定类型为area后也不显示为area图表
我有一个每秒更新服务器数据的图表,但该图表似乎没有显示为面积图,其中我将系列类型指定为面积图,但它仍然没有显示为面积图。我注意到,如果我在创建图表时初始化序列中的数据(使用一些随机数据),它会工作,但图表不会准确,因为数据不是来自服务器 代码如下:Javascript Highcharts图表即使在指定类型为area后也不显示为area图表,javascript,highcharts,Javascript,Highcharts,我有一个每秒更新服务器数据的图表,但该图表似乎没有显示为面积图,其中我将系列类型指定为面积图,但它仍然没有显示为面积图。我注意到,如果我在创建图表时初始化序列中的数据(使用一些随机数据),它会工作,但图表不会准确,因为数据不是来自服务器 代码如下: function createChart(asset, name) { chart = new Highcharts.stockChart('chart', { chart: { events: {
function createChart(asset, name) {
chart = new Highcharts.stockChart('chart', {
chart: {
events: {
load: function() {
setTimeout(function() {
interval = setInterval(function(){
requestData(asset, name)
}, 1000);
}, 1000);
}
}
},
rangeSelector: {
buttons: [{
count: 1,
type: 'minute',
text: '1M'
}],
inputEnabled: false,
selected: 0
},
navigator: {
enabled: false
},
title: {
text: name
},
xAxis: {
type: 'datetime',
tickPixelInterval: 150,
//tickPixelInterval: 3600
},
yAxis: {
allowDecimals: true,
title: {
text: 'Values'
},
labels: {
//format: '{value: .2f}'
},
opposite: false,
plotLines: [{
value: 0,
width: 1,
dashStyle: 'longdashdot',
color: '#808080'
}]
},
series: [{
name: 'Price',
type: 'area',
color: '#2D2E2F',
data: []
}]
});
}
function requestData(asset, name) {
$.ajax({
url:' process_ajax.php',
data: {
action: 'get_asset_data',
asset: asset
},
success: function(res) {
if (res.success) {
var series = chart.series[0],
shift = series.data.length > 20;
chart.yAxis[0].plotLinesAndBands[0].options.value = res.data.price;
chart.yAxis[0].setExtremes(res.data.low, res.data.high);
chart.series[0].addPoint([res.data.time, res.data.price], true, shift);
}
},
cache: false
});
}
附:图表更新良好,但问题是如何将其显示为面积图
编辑:
谢谢,我已经解决了这个问题,这个问题源于我的数据,y轴数据被作为字符串而不是数字接收,为了解决这个问题,我只需要将数据转换成数字 我看不出你在哪里指定它是一个面积图(我肯定我只是错过了它);是否尝试将类型:区域添加到图表参数?ie
图表:{events:{…},键入:'area'}
。。。。编辑:啊,我明白了,你已经在“系列”中指定了它。尽管如此,请尝试在“图表”中指定。是的,谢谢,我在“图表”中指定了它,但仍然没有,它只是照常更新,没有区域。您的数据是什么样子的?你能用小提琴来显示问题吗?你能粘贴你的数据样本吗?而且,在代码中有一个竞争条件-间隔ajax-应该注意这一点。