gpt4 book ai didi

javascript - Highstock,在 setExtreme(缩放)之后获取显示点计数的真实方法 - 不使用 MIN 和 MAX 计算所有数据

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

当然有一种方法可以计算缩放或任何更改 View 后显示的所有点并对此使用react。

我的目标是在 Highchart 7.2.0 stockChartIF “viewed points” x “圆的半径”,超过了 (>) “视口(viewport)像素”,我只是隐藏它们,或者用点做一些特殊的事情,因为其中一些是特殊的,仍然应该展示。

所以我需要:

  1. 如何获取:现在刚刚查看的点数(不对所有数据添加“FOR”)

(我只是认为如果没有真正的方法,我最好计算 svg 对象而不是:计算我所有的数据并使用 isInsidemin 最大)

  1. 最佳事件:“afterSetExtremes”和“events:{redraw:”[我认为已解决]
              events: {
afterSetExtremes: function(event) {
console.log(event.min);
console.log(event.max);
}
}
  1. 我如何关闭它们[我认为已解决]
                    if (chart.userOptions.plotOptions.line.marker.enabled) {
chart.userOptions.plotOptions.line.marker.enabled=false;
chart.update({
plotOptions: {
marker: {
enabled:false
}
}
});
}
  1. 如果有像“amchart”选项这样的自动方式,我只问“ma​​rker: { enabled: true”(没问题时)和“ma​​rker : { enabled: false"紧的时候。 [我认为已解决]

由此解决:

        plotOptions: {
series: {
marker: {
enabled:undefined,
enabledThreshold: 4,
symbol: 'circle',
radius: 4,
},
}
}

原来是这样的:

marker: {enabled:true, enabledThreshold: 0, (By Default)

应该是:

marker: {enabled:undefined, enabledThreshold: 4, (More than Zero)

从这里得到帮助:https://stackoverflow.com/a/54417034/7514010

最佳答案

最简单的方法是遍历数据并检查 isInside 点属性或点位置。作为替代方案,您可以覆盖 translate 方法并计算现有循环中可见点的数量:

var counter;

(function(H) {
H.Series.prototype.translate = function() {
...

counter = 0;
// Translate each point
for (i = 0; i < dataLength; i++) {
...
point.isInside =
plotY !== undefined &&
plotY >= 0 &&
plotY <= yAxis.len && // #3519
plotX >= 0 &&
plotX <= xAxis.len;

// CHANGE

if (point.isInside) {
counter++;
}

// CHANGE

...
}
series.closestPointRangePx = closestPointRangePx;
H.fireEvent(this, 'afterTranslate');
}

})(Highcharts)

现场演示: http://jsfiddle.net/BlackLabel/yx1cj0at/

文档: https://www.highcharts.com/docs/extending-highcharts

关于javascript - Highstock,在 setExtreme(缩放)之后获取显示点计数的真实方法 - 不使用 MIN 和 MAX 计算所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57981487/

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