好的,
我知道以前曾经问过,但我仍然无法弄明白。 图表确实呈现,但在第二个事件中它不会更新。
我在highcharts中使用chart.addSeries。 图表更新,但没有绘制新数据。 困惑。
我在这里缺少什么?
谢谢!
A
<script>
var executed = false;
$(document).ready(function(){
$('.w-input').bind('railsAutocomplete.select', function(event, data){
var data1= parseFloat(data.item.test)
if (!executed) {
executed = true;
var Mychart = new Highcharts.Chart({
chart: {
renderTo: 'chart-area',
type: 'column',
},
title: {
text: 'test'
},
legend: {
enabled: false
},
xAxis: {
categories: [data.item.test2],
title: {
text: 'test2'
}
},
yAxis: {
title: {
text: 'test3'
},
plotLines: [{
value: 1320,
color: 'red',
width: 1,
label: {
text: 'National mean: 1320',
align: 'center',
style: {
color: 'gray'
}
}
}]
},
series: [{
name: 'test1',
data: [data1],
tooltip: {
headerFormat: '<em>test1 {point.key}</em><br/>'
}
}, {
marker: {
fillColor: 'white',
lineWidth: 1,
lineColor: Highcharts.getOptions().colors[0]
},
tooltip: {
pointFormat: 'test: {point.y}'
}
}]
});
}
else{
var chart = $('#chart-area').highcharts();
chart.addSeries({
name: data.item.test2,
data: data1
});
chart.redraw();
}
});
});
</script>
答案 0 :(得分:1)
而不是这样做:
chart.addSeries({
name: data.item.test2,
data: data1
});
这样做:
chart.addSeries({
name: data.item.test2,
data: [data1] // data value should be an array
});
如果仍然无效,请按照以下方式进行:
chart.addSeries({
name: data.item.test2,
data: [parseInt(data1)] // in data should be number not string
});