【问题标题】:Incorrect values on Highcharts (compared to input)Highcharts 上的值不正确(与输入相比)
【发布时间】:2016-11-30 11:19:58
【问题描述】:

我有一个(Highcharts)图表,其中包含一段时间内的百分比。我的系列的输入类似于:

series: [{
    name: "Percentage",
    data: [
        [1472515200000, 49],
        [1472601600000, 48.83],
        [1472688000000, 49.6],
        [1472774400000, 48.77]
    ]
}]

但是在实际图表(areaspline)上我得到不同的值:

  • 8 月 30 日,48.91
  • 8 月 31 日,49.36
  • 9 月 1 日,49.6
  • 9 月 2 日,48.87

不完全确定为什么会出现这种情况,我假设这是因为图表具有日期时间类型,并且它正在计算一段时间内的平均值。有没有一种方法可以使输入的值准确无误?在文档中找不到任何内容

感谢您的任何想法/帮助/建议。


经过进一步研究,这似乎不是 Highcharts 问题,而是 React 问题。我似乎在每次渲染上都得到了不同的值。将对此进行进一步调查并为好奇者更新。


问题似乎与 React 重新渲染有关,因此重新计算了我的百分比值 - 而不是 Highcharts 问题。感谢所有评论的人,有点疯狂。

【问题讨论】:

  • 你可以为此创建一个 jsfiddle,因为系列看起来很正常。
  • 我错过了这个问题,尝试重新创建问题或粘贴您使用的代码。在这里的演示中,它按预期工作。 jsfiddle.net/82zph5no

标签: javascript reactjs highcharts


【解决方案1】:

Jamie,要按字面意思理解输入值,您需要不设置 x 轴的 type 值或将其更改为 type: 'literal'。

这是我使用您的数据创建的一个基本小提琴,以显示如何将其完全解释为输入(相对于转换为日期):http://jsfiddle.net/brightmatrix/vtLswcex/1/

$(function () {
  Highcharts.setOptions({
    lang: {
      thousandsSep: ','     // adds comma for axis labels
    }
  });
  Highcharts.chart('container', {
    xAxis: {
      labels: {
        formatter: function() {
          return Highcharts.numberFormat(this.value,0);
        }
      }
    },
    series: [{
      name: "Percentage",
      data: [
        [1472515200000, 49],
        [1472601600000, 48.83],
        [1472688000000, 49.6],
        [1472774400000, 48.77]
      ]
    }]
  });
});

请注意,我为 x 轴标签添加了格式,并在 Highcharts.setOptions() 函数中添加了千位分隔符,这样您的标签将更容易读取为万亿。

这是否有助于回答您的问题?如果您正在寻找更好的方法来格式化特定时间的数据,@morganfree 的评论非常值得研究。

【讨论】:

  • 我认为,您错过了问题的重点。 Y 值已损坏。据我所知,日期还不错。
  • @VladimirM 我同意你的观点,如果这确实是 OP 的目标,那么日期看起来还可以,但我的回答是基于他们的陈述“值与输入完全相同”。这就是我建议线性方法的原因。我很想知道这里需要什么。
  • Mike - 我认为@VladimirM 的观点是有问题的值是y 值,而不是x 值。如果您查看问题,请将数据中的 y 值与所述输出中的 y 值进行比较。
  • @jlbriggs 非常感谢您的澄清。我错过了问题中的这些细微差别,看起来 OP 设法弄清楚发生了什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多