在我的高图中,在某些时候,我需要更新yAxis的min,max和tickInterval。 我试过三种方法:
我尝试了以下代码,但是它说“对象#没有menthod'更新'”
var extremes = chart.yAxis[i].getExtremes();
chart.yAxis[i].update({
min: extremes.dataMin * 1.1,
max: extremes.dataMax * 1.1,
tickInterval : SomeValue,
});
我也试过了chart.redraw ...使用下面的代码
chart.yAxis[i].min = extremes.dataMin * 1.1;
chart.yAxis[i].max = extremes.dataMax * 1.1;
chart.yAxis[i].tickInterval = SomeValue;
chart.redraw();
这次它没有显示任何错误,但图表也没有刷新。
这一次,我尝试更新选项,然后创建一个新的高级图:
options.yAxis[i].min = extremes.dataMin * 1.1;
options.yAxis[i].max = extremes.dataMax * 1.1;
options.yAxis[i].tickInterval = SomeValue;
chart = new Highcharts.Chart(options);
这次工作,但我不想创建一个新的高图,我想更新旧的高图,因为我也在另一种方法中使用它。
请让我知道,这是如何工作的,如果我使用第三种方式创建新的高图,那么有没有办法在另一种方法中获取最新的“图表”变量?
谢谢
答案 0 :(得分:7)
请参阅此highcharts API:
setExtremes (Number min, Number max, [Boolean redraw], [Mixed animation])
链接:http://api.highcharts.com/highcharts#Axis.setExtremes()
他们也有一些jsfiddle例子。
编辑:要更改tickinterval,请尝试以下操作:
chart.yAxis[0].options.tickInterval = markInterval;
在上述行之后添加此内容:
chart.xAxis[0].isDirty = true;
答案 1 :(得分:0)
你应该使用其他对象来触发yAxis的更新方法。
EXP:
var chart = new Highcharts(config);
var axes = chart.axes; // this is all Axis object
var xAxis = axes[0]; // by array's method get axis object
var yAxis = axes[1];
// now, object is ok, next trigger update method
yAxis.update(<your attribute config>);
highcharts版本:“4.1.9”
答案 2 :(得分:-1)
您只有一个选项:
$(container).highcharts({
xAxis: {
max: 10 //you can set the maximum here
}
})
最大值只能定义一次。之后,任何其他更改都不会对图表产生影响。
chart.xAxis[0].options.max = 12; //this statement has no effect
答案 3 :(得分:-1)
在设置chart.addSeries
chart.options.series = false;
chart = new Highcharts.Chart(chart.options);
chart.render();