2012-06-26 63 views
3

我想使用Google的柱状图显示数据。我试图显示不堆叠的酒吧,但它不会从两端显示一个酒吧。然后我将房产isStacked更改为true,它显示了所有酒吧,但它在两端都收获了酒吧。谷歌柱图修剪酒吧

Google Column Chart http://i45.tinypic.com/3h4za.png

我怎样才能解决这个问题?

我正在玩的选项,但似乎没有任何工作。

<script type='text/javascript'> 
    google.load('visualization', '1', { 'packages': ['corechart'] }); 
    google.setOnLoadCallback(drawSizeChart); 
    var d = 0; 
    function drawSizeChart() { 

     $.post('/metrics/SiteResourceChart', { fnsId: "@Model.FnsId", regionId: selectedValue }, 
      function (data) { 
       if (Object.keys(data).length !== 0) { 
        var tdata = new google.visualization.DataTable(); 
        tdata.addColumn('date', 'Date'); 
        for (var p = 0; p < data.length; ++p) { 
         tdata.addColumn('number', data[p][0].PathName); 
        } 

        d = data[0].length; 
        for (var i = 0; i < data.length; ++i) { 
         for (var j = 0; j < data[i].length; ++j) { 
          var date = new Date(parseInt(data[i][j].CreatedAt.substr(6))); 
          var rCount = data[i][j].ResourceCount; 
          if (i === 0) 
           tdata.addRow([date, rCount, null]); 
          else 
           tdata.addRow([date, null, rCount]); 
         } 
        } 


        var options = { 
         title: 'Resource Count', 
         titleTextStyle: { fontSize: 20 }, 
         isStacked: true, 
         bar: { groupWidth: '20%' }, 
         chartArea: { left: '50' }, 
         hAxis: { viewWindowMode: 'maximized' } 

         //legend: { position: 'none' } 
        }; 

        var chart = new google.visualization.ColumnChart(document.getElementById('site_size_chart')); 
        chart.draw(tdata, options); 
       } 
      } 
     ); 
    } 
</script> 

回答

0

我想一个快速的解决办法是定义你的第一列,而不是日期“字符串”,并留下了hAxis.viewWindowMode为默认值。否则,您应该配置hAxis.viewWindow对象(即最小/最大值)。

+1

我修好了。我将软件包更改为'columnchart',并修复了它。不管怎么说,多谢拉 :-) – SherCoder

0

同样的问题在这里。我所做的是我在第一天的前一天和最后一天后的一天添加了一个0值的虚拟数据,以达到所需的结果。

使用columnchart软件包对我来说不是一个解决方案,因为我有几天没有数据,但希望保持时间轴成比例。