如何将数据系列中的值映射到不同的y轴?

时间:2011-09-12 21:49:53

标签: highcharts

我在Highcharts中有一个大致如下的柱形图:

     |                                                             |
     |                                                             |
  S  |                                                             |
  e  |                                                             |  M
  c  |                         +-+                                 |  e
  o  |            +-+          | | +-+              +-+     +-+    |  t
  n  |    +-+     | |          | | | |              | | +-+ | |    |  e
  d  |    | |     | |          | | | | +-+          | | | | | |    |  r
  s  |    | | +-+ | |          | | | | | |          | | | | | |    |  s
     |    |1| |2| |3|          |1| |2| |3|          |1| |2| |3|    |
     +-------------------------------------------------------------+
           Fld A (s)            Fld B (s)            Fld C (m)

标签“1”,“2”和“3”是指记录;而“A”,“B”和“C”指的是字段。因此,记录#1表示为字段A,B和C上的三个单独值,如标记列所示。我通过以下方式实现了这个结果:

  • 为系列配置选项提供一个数组,每个记录一个系列。
  • 为xAxis / categories配置选项提供一个数组,每个字段名称都有一个元素。
  • 为yAxis配置选项提供2元素数组。

我的问题是,字段C中的值将显示在秒数轴上,即使它们以米为单位。我可以将整个系列更改为Meters轴(通过系列/ yAxis配置选项),但是字段A和B将显示在错误的轴上。

有没有办法将系列中的值映射到不同的轴?

编辑9/12/2011:如果这不可能如上所述,我愿意接受替代方法,例如不同的配置或通过插件或其他方式修改Highcharts内部。

编辑2011年9月13日:我在HighCharts论坛上问了同样的问题:http://highslide.com/forum/viewtopic.php?f=9&t=12315,也没有人在那里回答。我开始认为可能没有任何 easy 答案。 :)

2 个答案:

答案 0 :(得分:0)

此处提供了演示:http://www.highcharts.com/demo/combo-dual-axes

chart.yAxis应该是两个yAxis对象的数组,系列对象应该指定它对应的yAxis

答案 1 :(得分:0)

一名高流失支援人员告诉我这是不可能的。

但是,另一个人给了我一个可能的解决方法:为字段C创建一组单独的系列。然后将第二个集合中字段A和B的值设置为null,并将第一组系列中的值设置为字段C为null。

在jsfiddle中有一个链接,可以在论坛主题中演示此解决方法:http://highslide.com/forum/viewtopic.php?f=9&t=12315