如何在 HighChart 的 yAxis 上仅显示整数值?

Posted

技术标签:

【中文标题】如何在 HighChart 的 yAxis 上仅显示整数值?【英文标题】:How to show only integer values on yAxis of HighChart? 【发布时间】:2012-12-23 17:03:06 【问题描述】:

我们有一组包含事件实例计数的数据。这些只能是整数。当我们显示具有足够高 yValue 的数据时,yAxis 标签是整数。但是,当我们放大到 y = 5 以下的数据范围时,我们会看到刻度标记显示 0.5、0.75、1.5 等。我们如何强制 yAxis 标签只显示整数值?

Here 是带有一些数据的示例代码位。当您放大到图表的较低值区域时,您可以明白我的意思。 这是当前的 yAxis 设置:

yAxis: 
  labels: 
    style: 
      fontSize: '9px',
      width: '175px'
    
  ,
  title: 
    text: ''
  
,

【问题讨论】:

【参考方案1】:

将y轴的allowDecimals选项设置为false,以防止显示非整数刻度线:

yAxis: 
    allowDecimals: false,
    labels: 
        style: 
            fontSize: '9px',
            width: '175px'
        
    ,
    title: 
        text: ''
    

这是一个演示:http://jsfiddle.net/sBC9K/

【讨论】:

@wergeld 但 Rikonator 的回答仅适用于这种情况。您可以在下面的图表中看到:jsfiddle.net/R8Hub/1 它不起作用,因为 tickInterval 高于 1。在同一张图表上使用 allowDecimals 它起作用。 jsfiddle.net/R8Hub/2。所以这是正确的答案。 @RicardoLohmann,这很有趣——这不是 HighStock 中的错误吗?是的,我可以看到 allowDecimals 是一个更完整的答案,但 minTickInterval 在我的案例中起到了宣传的作用。 @wergeld 这不是一个错误,我解释说它的发生是因为较高值的滴答间隔高于 1,它不会阻止高于 1 的数字,只是更低。 @RicardoLohmann 实际上,我同意。 minTickInterval1 并不意味着 tickInterval 不能是 2.5 或其他大于 1 的十进制值。这是您的示例中出现问题的地方; jsfiddle.net/uDg9k/6。嗯是的。 @Asad 的回答是正确的。 好吧,我根本没有设置tickInterval。而且我没有看到它在@RicardoLohmann 提到的示例中设置。但是,我绝对认为这是我们设置tickInterval 的图表的一个问题。给阿萨德答案。

以上是关于如何在 HighChart 的 yAxis 上仅显示整数值?的主要内容,如果未能解决你的问题,请参考以下文章

Highcharts yAxis.max 动态管理刻度间隔

highchart柱状堆叠图动态数据请求

Highchart基础教程-图表的主要组成

当x轴为时间格式(HH:MM)时,Highchart的热图图无法正确渲染

highchart 图例多个位置?图表中显示左侧的第一个图例和右侧的第二个图例

如何在R中将highchart保存为PNG图像?