0

我正在尝试显示听力图,但我面临以下困难:

  • Y轴有以下类别125,250,500,1000,2000,4000,8000。它们都需要彼此保持相等的距离。换句话说,尽管有值,但间隔必须相等。这不是一个真正的问题,因为我可以使用 categories : [....] 和 data:[...] 并且它工作得非常好。
  • 麻烦的是,也有750 1500 3000 6000个值,但它们必须显示在相邻点之间距离的2/3处,这违反了数学定律。

它应该是这样的: 示例

这是我到目前为止得到

4

3 回答 3

1

我会结合以下方法来做到这一点

  • 多个 x 轴
  • 类别
  • 滴答头寸
  • 轴标签格式化程序

这里的例子:

http://jsfiddle.net/jlbriggs/D2TPh/

labels: {
  formatter:function() {
    var v = this.value;
    if (v == 2.66) return '750';
    else if (v == 3.66) return '1.5k';
    else if (v == 4.66) return '3k';
    else if (v == 5.66) return '6k';
  }
}
于 2013-06-13T13:32:16.003 回答
0

看起来你想要一个二进制对数 Y 轴(以 2 为底)。我知道 Highcharts 支持以 10 为底的对数轴,但快速搜索并没有找到如何使用以 2 为底的。

你可以尝试的是:

  • 将您的 Y 数据点定义为 LOG2(y),以便它们均匀分布

  • 使用轴格式化程序将它们格式化为在 Y 轴上显示为 pow(2,y) 以显示原始值。

于 2013-06-13T10:46:58.963 回答
0

如果您使用categories,您应该在刻度之间实现相同的距离。

http://jsfiddle.net/3K86L/

但您也可以使用 tickPostitions 或使用 tickPositioner

http://api.highcharts.com/highcharts#xAxis.tickPositioner

于 2013-06-13T12:43:16.200 回答