【问题标题】:Highcharts: some x-axis labels are disappearing after using setExtremes()Highcharts:使用 setExtremes() 后,一些 x 轴标签正在消失
【发布时间】:2023-03-26 05:19:02
【问题描述】:

我正在为 Stack Overflow 上的另一个问题(请参阅 Highcharts : selection)开发一个解决方案,其中包含一些简单的滑块元素(使用 input type="range")来更改柱形图中显示的类别。每当用户更改任一滑块元素的范围时,都会使用setExtremes() 重新绘制图表。

我注意到,在某些情况下,一些 x 轴标签消失了,即使我将滑块移回其原始位置也是如此。我修改了许多 x 轴设置,包括 minPaddingstartOnTicktickInterval,但似乎都没有解决“缺少标签的情况”。

下面的第一个屏幕截图显示了第一次加载时的图表。所有的 x 轴标签都存在。

下面的第二个屏幕截图显示了我更改其中一个滑块时的图表。现在缺少一些 x 轴标签。看起来他们是错开的。

这是情节变厚的地方:如果我将滑块调整为其他值,所有标签都会返回:

这是我开发的小提琴,因此您可以看到这种行为的实时示例:https://jsfiddle.net/brightmatrix/uvat8u05/

我很想知道为什么会发生这种情况,以及我可以使用哪些设置来确保显示所有 x 轴标签,而不管用户在滑块中选择什么值。

非常感谢!

更新:Max Uppenkamp 和 Grzegorz Blachliński 的回答都是有效且有用的解决方案。我还偶然发现,使用parseInt() 将滑块值显式设置为整数也解决了这个问题。它还有助于比较两个值,以确保用户不会选择早于开始日期的结束日期。

【问题讨论】:

  • 你可以使用tickPositions或者tickPositioner来避免这个问题:jsfiddle.net/uvat8u05/6
  • 非常感谢@GrzegorzBlachliński。我还碰巧注意到将滑块值设置为整数也解决了这个问题。我修改了我的问题以说明这一点。

标签: javascript jquery highcharts slider axis-labels


【解决方案1】:

这似乎是 Highcharts 的预期行为,但可能不一致。

根据this,这应该在当前版本的 Highcharts 中得到修复,但您不妨试试这个刻度格式化程序解决方案。

编辑:如果上述方法不适合您,您可以通过旋转标签来解决问题: http://www.highcharts.com/demo/column-rotated-labels/grid

【讨论】:

  • 谢谢你,马克斯。我曾尝试旋转标签,但这并没有解开谜团。但是,tickPositioner 函数看起来很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多