我有一张Highcharts图表,我正在动态添加y轴。
我找到this example并且它运作正常。
但是,如果你去看这个例子,多次点击“添加轴和系列”,你将得到多个轴和系列。
但在我的情况下,如果我添加了y轴,我想检查是否已存在具有相同Id的y轴,如果存在,则不要再次添加轴。
以下是该示例的副本(我没写过)
$(function () {
$('#container').highcharts('StockChart',{
yAxis: {
title: {
text: 'Temperature'
},
lineWidth: 2,
lineColor: '#F33'
},
series: [{
name: 'Temperature',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6],
color: '#F33'
}]
});
// the button handlera
var chart = $('#container').highcharts();
$('#add').click(function() {
// if not exist chart.axis['rainfall-axis'] :
chart.addAxis({ // Secondary yAxis
id: 'rainfall-axis',
title: {
text: 'Rainfall'
},
lineWidth: 2,
lineColor: '#08F',
opposite: true
});
chart.addSeries({
name: 'Rainfall',
type: 'column',
color: '#08F',
yAxis: 'rainfall-axis',
data: [49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
});
});
});
答案 0 :(得分:3)
您可以使用内置的api(Chart.get)来检查具有给定ID的元素是否存在。
var id = 'rainfall-axis';
if ( !chart.get( id ) ) {
chart.addAxis({ // Secondary yAxis
id: id,
title: {
text: 'Rainfall'
},
lineWidth: 2,
lineColor: '#08F',
opposite: true
});
}
else {
alert( 'chart has an axis with id ' + id );
}