2014-01-16 120 views
0

我在创建Google图表时遇到问题。我想在一个图表中有2个普通酒吧和一个基于2个变量的堆叠酒吧。下面到目前为止我的代码:谷歌图表创建除2“正常”酒吧之外的堆叠酒吧

google.load("visualization", "1", {packages:["corechart"]}); 
    google.setOnLoadCallback(drawChart); 

    function drawChart() { 

    var data = google.visualization.arrayToDataTable([ 

     ['H axis',  'Name 1',     'Name 2',      'Name 3',   'Name 4'], 

     ['Label',   <?php echo $var1; ?>,  <?php echo $var2; ?>,  <?php echo $var3; ?>,  <?php echo $var4; ?>] 

    ]); 

    var options = { 

     chartArea:{left:100,top:50,width:"70%",height:"70%"}, 
     title: 'Title', 
     isStacked: false, 
     series: { 0: {type: "bars", isStacked: false}, 
       1: {type: "bars", isStacked: false}, 
       2: {type: "steppedArea", isStacked: true}, 
       3: {type: "steppedArea", isStacked: true}}, 
     hAxis: {title: 'Title', titleTextStyle: {color: 'red'}}, 
     vAxis: {title: 'Title', titleTextStyle: {color: 'red'}} 

    }; 

    var chart = new google.visualization.ColumnChart(document.getElementById('chart1')); 

    chart.draw(data, options); 

    } 

我试图创建一个组合图表与谷歌页面的帮助。在谷歌搜索没有给我相关的结果,所以我想知道这里的专家是否可以帮助我。

这是我的第一篇文章,所以我希望我正确地做到了这一点。

在此先感谢!

回答

1

您应该可以通过使用堆叠酒吧“伪装”,但只能为一个酒吧提供多个值。所以,你的数据变量将是这个样子:

var data = google.visualization.arrayToDataTable([ 
    ['Label', 'Value 1', 'Value 2', 'Value 3'], 
    ['Value 1', 25, 0, 0], 
    ['Value 2', 0, 15, 10] 
]); 

根据您希望您的图表显示你将不得不修改一些其他的显示选项,但上面的应该第一条是一个单杆值为25,第二个栏将是一个有两个值的堆叠栏。

当然,您也必须设置isStacked: true