Highstock yAxis 自动缩放问题

Posted

技术标签:

【中文标题】Highstock yAxis 自动缩放问题【英文标题】:Highstock yAxis auto-scale issue 【发布时间】:2013-02-06 13:37:34 【问题描述】:

我有一个如下图所示的图表。我的数据在 50-51 区间。但是 yAxis 是从 0 开始的。我没有设置 yAxis 最小值。

我无法为 yAxis 设置静态最小值和最大值,因为单个图表可以显示具有不同最小值-最大值的不同数据系列。

我希望本例中的 yAxis 从 50 或 49 开始,以 51 或 52 结束。Higchcarts 应该自动完成。

有什么想法吗?

【问题讨论】:

【参考方案1】:

也许做一些预处理会更好。如果您的数据系列不是“实时”的,那么您可以解析所有系列中的所有 y 值并获取最小值/最大值,然后将它们分配给您的 yAxis 最小值和最大值参数。 如果您的数据是“实时的”(每 x 秒更新一次),那么您需要检查新值以查看它是否在最小/最大范围内,如果不在,则分配一个新的最小值或最大值。

【讨论】:

我没有“实时”数据,但提到的图表被创建为大约 1700 点的柱形图。所以做额外的预处理成本很高。此外,通过缩放,我正在从服务器加载新数据集。 成本是相对的——如果您从数据库中获取此数据,您可以轻松提取最小值/最大值并将其与数据集一起传递。如果您不是从数据库中获取它,而是从一个平面源获取它,您可以在生成您的一系列数据时获取您的最小值/最大值。缩放时为什么要取回数据?是因为您最初的未缩放数据只是一组更详细数据的外推超集吗?我们需要知道您的数据提取/解析过程是什么,以提供更好的信息。 我们在缩放时使用从数据库中获取数据,因为初始数据更加聚合。我们存储监控实时设备的数据。新记录每秒钟都会出现。因此,我们将其存储在 RRD 数据库中。所以很难从数据库中检索最大值和最小值,因为它不是关系型的。 好吧,看起来你需要做一些预处理然后不管。一旦你得到你的新点,看看它是否在之前的最小/最大范围内并相应地调整。在选择缩放范围时执行相同操作。

以上是关于Highstock yAxis 自动缩放问题的主要内容,如果未能解决你的问题,请参考以下文章

在 highstock 上对齐 y 轴刻度“外部”,因此它们与 highcharts 上的相同

R Highcharter:用同步缩放/工具提示分隔图例或多个图表的巧妙方法?

echart 如何实现纵坐标yAxis范围的自动变化

使用带有缩放功能的 UIWebView 显示 Google 地图

Highcharts:向 yAxis 添加一个自定义标签

如何从导航栏的 Highstock 图表中删除时间?