【发布时间】:2023-03-26 05:19:02
【问题描述】:
我正在为 Stack Overflow 上的另一个问题(请参阅 Highcharts : selection)开发一个解决方案,其中包含一些简单的滑块元素(使用 input type="range")来更改柱形图中显示的类别。每当用户更改任一滑块元素的范围时,都会使用setExtremes() 重新绘制图表。
我注意到,在某些情况下,一些 x 轴标签消失了,即使我将滑块移回其原始位置也是如此。我修改了许多 x 轴设置,包括 minPadding、startOnTick 和 tickInterval,但似乎都没有解决“缺少标签的情况”。
下面的第一个屏幕截图显示了第一次加载时的图表。所有的 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