我不知道我做错了什么或者这是Highcharts中的奇怪问题,其实我有兴趣使用输入框更改x和y轴刻度线,如果它可以更新刻度线间隔而不重绘它的井好的,
以下奇怪的问题对改变没有影响
var dummy = $('#xint').val();
chart.xAxis[0].options.tickInterval = dummy ;
但是如果我这样定义变量虚拟,则滴答间隔会更新,我真的不知道这里有什么问题......请有人帮助我
以下是 Fiddle
的链接 var dummy = 0.2;
chart.xAxis[0].options.tickInterval = dummy ;
HTML
<script src="http://code.highcharts.com/highcharts.js"></script>
<div id="container" style="height: 400px"></div>
<input id='xint' type='number'>
JAVASCRIPT
$(function () {
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
zoomType: 'xy',
marginLeft: 50,
marginBottom: 90
},
yAxis: {
reversed: true,
//min: 0,
//max: 50
},
plotOptions: {
series: {
stacking: 'normal'
}
},
xAxis: {
opposite: true
},
series: [{
name: '01-Jan-2014',
data: [
[28, 10],
[30, 0]
]
}]
});
$('#xint').change(function(){
setTimeout(function() { alert($('#xint').val());},10);
// This is not working
// var dummy = $('#xint').val();
// where as this is working..
var dummy = 0.2;
chart.xAxis[0].options.tickInterval = dummy ;
chart.xAxis[0].isDirty = true;
chart.redraw();
});
});
答案 0 :(得分:4)
.val()
返回一个字符串,你需要一个浮点数:
var dummy = parseFloat($('#xint').val());
更新了fiddle。
评论的编辑
不要像你一样更新tickInterval
(它与Highcharts的内部相混淆)而是使用:
chart.yAxis[0].update({
tickInterval: dummy
})