2011-11-13 24 views
5

Próbuję utworzyć wykres słupkowy z dwiema seriami danych. Chcę, aby jedna seria została narysowana po prawej stronie, a jedna seria po lewej.Wykresy Google - zmiana orientacji słupków na wykresie słupkowym

Jeśli ustawię ujemne wartości dla Austrii, to narysują te wartości zorientowane w lewo. Czy jest jakiś sposób, żebym mógł mieć serie danych dla Austrii zorientowane na lewo, a serie danych dla Bułgarii wskazywałyby na prawo, nie czyniąc wartości ujemnych?

grałem z jednym z przykładów z Google Wizualizacja API, i oto co wymyśliłem (To chyba najprostszy wkleić poniższy kod do http://code.google.com/apis/ajax/playground/?type=visualization#bar_chart):

 function drawVisualization() { 
     // Create and populate the data table. 
     var data = new google.visualization.DataTable(); 
     var raw_data = [['Austria', -1336060, -1538156, -1576579, -1600652, -1968113, 1901067], 
         ['Bulgaria', 400361, 366849, 440514, 434552, 393032, 517206], 
         //['Denmark', 1001582, 1119450, 993360, 1004163, 979198, 916965], 
         //['Greece', 997974, 941795, 930593, 897127, 1080887, 1056036] 
         ]; 

     var years = [2003, 2004, 2005, 2006, 2007, 2008]; 

     data.addColumn('string', 'Year'); 
     for (var i = 0; i < raw_data.length; ++i) { 
     data.addColumn('number', raw_data[i][0]);  
     } 

     data.addRows(years.length); 

     for (var j = 0; j < years.length; ++j) {  
     data.setValue(j, 0, years[j].toString());  
     } 
     for (var i = 0; i < raw_data.length; ++i) { 
     for (var j = 1; j < raw_data[i].length; ++j) { 
      data.setValue(j-1, i+1, raw_data[i][j]);  
     } 
     } 

     // Create and draw the visualization. 
     new google.visualization.BarChart(document.getElementById('visualization')). 
      draw(data, 
       {title:"Yearly Coffee Consumption by Country", 
        width:600, height:400, 
        isStacked: 'true', 
        vAxis: {title: "Year"}, 
        hAxis: {title: "Cups"}} 
      ); 
     } 

Dzięki kilka, pozwól mi wiem, czy mogę coś wyjaśnić.

Odpowiedz

2

Użyj opcji series zdefiniować dwa oddzielne osie poziome na wykresie. Ustaw opcję direction na drugiej poziomej osi na -1, aby uzyskać wartości rozciągające się od prawej strony wykresu.

series:{1:{targetAxisIndex:1}}, hAxes:{1:{direction:-1}}

Powiązane problemy