Highcharts 如何在Highstock中的自定义坐标处定位范围选择器/缩放按钮

Highcharts 如何在Highstock中的自定义坐标处定位范围选择器/缩放按钮,highcharts,highstock,Highcharts,Highstock,我正在使用highstock图表,希望将缩放按钮(1m、2m等)移动到不同的位置 我检查了他们的,目前似乎没有这样做的选择。 另外,源代码表明该位置是硬编码的,因此我认为我不能使用一些未记录的属性轻松地注入该位置 高库存源 这可以通过覆盖当前渲染方法,然后在调用实际渲染方法后将框移动到所需位置来实现 var orgHighchartsRangeSelectorPrototypeRender = Highcharts.RangeSelector.prototype.render; Highchar

我正在使用highstock图表,希望将缩放按钮(1m、2m等)移动到不同的位置

我检查了他们的,目前似乎没有这样做的选择。 另外,源代码表明该位置是硬编码的,因此我认为我不能使用一些未记录的属性轻松地注入该位置

高库存源
这可以通过覆盖当前渲染方法,然后在调用实际渲染方法后将框移动到所需位置来实现

var orgHighchartsRangeSelectorPrototypeRender = Highcharts.RangeSelector.prototype.render;
Highcharts.RangeSelector.prototype.render = function (min, max) {
    orgHighchartsRangeSelectorPrototypeRender.apply(this, [min, max]);
    var leftPosition = this.chart.plotLeft,
        topPosition = this.chart.plotTop+5,
        space = 2;
    this.zoomText.attr({
        x: leftPosition,
        y: topPosition + 15
    });
    leftPosition += this.zoomText.getBBox().width;
    for (var i = 0; i < this.buttons.length; i++) {
        this.buttons[i].attr({
            x: leftPosition,
            y: topPosition 
        });
        leftPosition += this.buttons[i].width + space;
    }
};
var orgHighchartsRangeSelectorPrototypeRender=Highcharts.RangeSelector.prototype.render;
Highcharts.RangeSelector.prototype.render=函数(最小值、最大值){
orgHighchartsRangeSelectorPrototypeRender.apply(此[min,max]);
var leftPosition=this.chart.plotLeft,
topPosition=this.chart.plotTop+5,
空间=2;
this.zoomText.attr({
x:左位置,
y:topPosition+15
});
leftPosition+=this.zoomText.getBBox().width;
对于(var i=0;i
在创建任何图表之前,需要运行此代码


目前这是不可能的,但是您可以在这里为它发声

这里有一段代码,它不会使名称空间变得混乱:不过,我想这样做只是个人偏好。
var orgHighchartsRangeSelectorPrototypeRender = Highcharts.RangeSelector.prototype.render;
Highcharts.RangeSelector.prototype.render = function (min, max) {
    orgHighchartsRangeSelectorPrototypeRender.apply(this, [min, max]);
    var leftPosition = this.chart.plotLeft,
        topPosition = this.chart.plotTop+5,
        space = 2;
    this.zoomText.attr({
        x: leftPosition,
        y: topPosition + 15
    });
    leftPosition += this.zoomText.getBBox().width;
    for (var i = 0; i < this.buttons.length; i++) {
        this.buttons[i].attr({
            x: leftPosition,
            y: topPosition 
        });
        leftPosition += this.buttons[i].width + space;
    }
};