gpt4 book ai didi

highcharts - 如何在 Highstock 中的自定义坐标处定位 RangeSelector/缩放按钮

转载 作者:行者123 更新时间:2023-12-03 13:11:11 25 4
gpt4 key购买 nike

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

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

高库存来源

Highcharts.RangeSelector.prototype.render = function (min, max) {
...
rangeSelector.zoomText = renderer.text(lang.rangeSelectorZoom, plotLeft, chart.plotTop - 10)
.css(options.labelStyle)
.add();

// button starting position
buttonLeft = plotLeft + rangeSelector.zoomText.getBBox().width + 5;
...
}

最佳答案

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

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;
}
};

在创建任何图表之前需要运行此代码

Positioning Zoom buttons | Highchart & Highstock @ jsFiddle

关于highcharts - 如何在 Highstock 中的自定义坐标处定位 RangeSelector/缩放按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15409914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com