Google Charts可以支持双y轴(v轴)吗?

问题描述 投票:41回答:3

Flot图表api支持双v轴刻度,如this example所示。

我正在使用谷歌图表 - 谷歌也可以这样做吗?我已经查看了示例和文档,但找不到任何示例/引用来表明它支持双轴图表。

charts visualization google-visualization
3个回答
96
投票

我花了一段时间来解决这个问题,但谷歌图表确实支持双Y轴(v轴)。我想使用Javascript API而不是HTML界面。

这个例子可以在这里测试:http://code.google.com/apis/ajax/playground/?type=visualization#line_chart

使用此代码替换所有代码,显示如何使用两个不同的Y轴刻度:

function drawVisualization() {
  // Create and populate the data table.
  var data = new google.visualization.DataTable();
  data.addColumn('string', 'x');
  data.addColumn('number', 'Cats');
  data.addColumn('number', 'Blanket 1');
  data.addColumn('number', 'Blanket 2');
  data.addRow(["A", 1, 1, 0.5]);
  data.addRow(["B", 2, 0.5, 1]);
  data.addRow(["C", 4, 1, 0.5]);
  data.addRow(["D", 8, 0.5, 1]);
  data.addRow(["E", 7, 1, 0.5]);
  data.addRow(["F", 7, 0.5, 1]);
  data.addRow(["G", 8, 1, 0.5]);
  data.addRow(["H", 4, 0.5, 1]);
  data.addRow(["I", 2, 1, 0.5]);
  data.addRow(["J", 3.5, 0.5, 1]);
  data.addRow(["K", 3, 1, 0.5]);
  data.addRow(["L", 3.5, 0.5, 1]);
  data.addRow(["M", 1, 1, 0.5]);
  data.addRow(["N", 1, 0.5, 1]);


  // Create and draw the visualization.
  new google.visualization.LineChart(document.getElementById('visualization')).
      draw(data, {curveType: "function", width: 500, height: 400,
    vAxes: {0: {logScale: false},
            1: {logScale: false, maxValue: 2}},
    series:{
       0:{targetAxisIndex:0},
       1:{targetAxisIndex:1},
       2:{targetAxisIndex:1}}}
          );
}

通过将maxValue: 2添加到代码中,并将系列1和2设置为该轴,它们可以在第二个轴上正常工作。


0
投票

非JavaScript解决方案

假设您正在寻找一个共享相同X轴(水平)但Y轴(垂直)具有不同值(和比例)的系列,那么您无需依赖JavaScript就可以执行此操作,如下所示:

  1. 选择插入|菜单中的图表。
  2. 双击图表,然后在图表编辑器中选择图表类型|折线图。
  3. 单击“数据范围”框中的网格图标以获取数据范围对话框。
  4. 单击包含您感兴趣的Y轴线数据的工作表,并从左上角到右下角突出显示,以覆盖所有Y轴线。您可以稍后整理列。
  5. 单击确定,您将看到已提取的系列集合。使用每个系列的“点菜单”删除您不感兴趣的那些。
  6. 单击“X轴”框中的网格图标再次获取数据范围对话框。
  7. 单击包含您感兴趣的X轴线数据的工作表,并从顶部到底部突出显示。
  8. 单击确定,您将看到已填充X轴,并且两条Y轴线共享相同的左轴标签。
  9. 单击要使用右轴标签的行,然后使用图表编辑器对话框中的“轴”框选择“右轴”。

您现在可以编辑图表的各种其他属性,使其在演示方面看起来像您想要的那样。


-3
投票

我做的。

  1. 单击数据系列
  2. 一个小盒子将出现2个小方块,每个方块只有两个粗体
  3. 点击第二个

那么可能会完成。

© www.soinside.com 2019 - 2024. All rights reserved.