【问题标题】:Highcharts repeating same label value on Y AxisHighcharts 在 Y 轴上重复相同的标签值
【发布时间】:2014-06-26 17:45:42
【问题描述】:

我有一个 Highcharts 折线图,其中 Y 轴标签没有显示大数字的小数位。 如果值超过 5 位,则无法显示小数位,这意味着所有标签都显示相同的值。

我知道我可以定义一个自定义格式化程序来显示小数位,但图表是非常动态的,并且可以显示具有广泛变化的值的线条。有些系列可以只有整数,有些需要多达 5 个小数位。我不想搜索系列并传回最大值和最小值,只是为了在加载新系列后正确缩放轴。图表通常会自动缩放并显示正确的标签,那么这里出了什么问题? 这是问题的简化示例:JSFiddle

Y 轴有一个非常基本的定义;

        yAxis: {
        max: 33999.253,
        min: 33999.219,
        title: {
            text: 'm',
            style: {
                color: '#000000',
                fontWeight: 'bold'
            }
        },
        labels: {
            style: {
                color: '#000000'
            }
        }
    },

正如您在最初显示时看到的那样,所有 Y 轴标签都是相同的。 然而,当您更新系列(使用 dataSet 按钮)并显示具有低得多的值的不同数据系列时,会显示小数位。 缩放轴时标签甚至不显示(使用自动缩放按钮)。

这是由边距引起的问题,还是我缺少其他一些配置设置?

【问题讨论】:

    标签: javascript jquery highcharts


    【解决方案1】:

    默认情况下,Highcharts 会将标签四舍五入到小数点后两位。您可以使用yAxis.labels.formatter 更改它。见:

            yAxis: {
                max: 33999.253,
                min: 33999.219,
                title: {
                    text: 'm',
                    style: {
                        color: '#000000',
                        fontWeight: 'bold'
                    }
                },
                labels: {
                    formatter: function() {
                        return this.value;
                    },
                    style: {
                        color: '#000000'
                    }
                }
            },
    

    还有演示:http://jsfiddle.net/NZjUg/4/

    【讨论】:

      【解决方案2】:

      有一个简单的解决方案,

      使用您自己的标签格式化程序

                  yAxis: {
                      max: 33999.253,
                      min: 33999.219,
                      title: {
                          text: 'm',
                          style: {
                              color: '#000000',
                              fontWeight: 'bold'
                          }
                      },
                      labels: {
                          style: {
                              color: '#000000'
                          },
                          formatter: function () {
                              return this.value
                          }
                      }
                  },
      

      在这里更新了你的小提琴:http://jsfiddle.net/NZjUg/5/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多