2011-08-31 71 views

回答

93

我花了一段時間才弄明白這一點,但Google Charts 確實支持雙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設置爲該軸,它們在第二軸上正常工作。

+2

請注意,上述示例沒有顯示兩個不同的Y軸刻度(儘管如此),只是因爲第二個vAxis設置爲maxValue:10,如果將兩個vAx設置爲不同的maxValue值,您將看到兩個不同的值秤。 –

+0

@JamieKitson現在回答了。有人應該編輯它 –

+0

我試過但我的編輯被拒絕iirc: -/ –

-3

我做到了。

  1. 單擊數據系列
  2. 一個小框將顯示2個小方塊只有兩個大膽的兩側各有
  3. 單擊第二個

可能,於是做了。

+3

你可以添加一個具體的例子來明確你的答案嗎? – m4rtin