Google图表未占用100%的空间

时间:2019-05-30 00:28:34

标签: charts google-chartwrapper

首先,此示例大声疾呼: https://www.c-sharpcorner.com/UploadFile/ca9151/google-charts-api-using-database-in-Asp-Net/ 如果您想简单地了解如何构建Google图表,那是完美的选择。

在这个示例中以及在我的项目中都这样说……我无法使图表从指定部分的左侧开始。它不断缩进。当我隐藏轴标签时,情况会更糟,因为由于缺少单词,空间只会变大。

enter image description here

有人知道如何使它们占据宽度的100%吗? (在图像中,我希望图表从红线开始,一直到div的另一侧)

先谢谢了。

1 个答案:

答案 0 :(得分:1)

默认情况下,图表不会填充容器的宽度和高度。

使用chartArea选项将图表扩展到容器的边缘,
使用topleftbottomright为轴标签,标题等留出空间。

chartArea: {
  height: '100%',
  width: '100%',
  top: 48,
  left: 48,
  right: 16,
  bottom: 48
},
height: '100%',
width: '100%',

重新绘制“调整大小”图表以使其具有响应性,
参见以下工作片段...

google.charts.load('current', {
  packages: ['corechart']
}).then(function () {
  var data = google.visualization.arrayToDataTable([
    ['Month', 'Bolivia', 'Ecuador', 'Madagascar', 'Average'],
    ['2019/01', 1, 2, 7, 3],
    ['2019/02', 5, 1, 3, 3.5],
    ['2019/03', 4, 3, 9, 6],
    ['2019/04', 1, 3, 8, 5],
    ['2019/05', 2, 6, 8, 4],
    ['2019/06', 3, 1, 9, 3],
  ]);

  var options = {
    chartArea: {
      height: '100%',
      width: '100%',
      top: 48,
      left: 48,
      right: 16,
      bottom: 48
    },
    height: '100%',
    width: '100%',

    title : 'Monthly Coffee Production by Country',
    vAxis: {title: 'Cups'},
    hAxis: {title: 'Month'},
    seriesType: 'bars',
    series: {3: {type: 'area'}}
  };

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

  drawChart();
  window.addEventListener('resize', drawChart, false);
  function drawChart() {
    chart.draw(data, options);
  }
});
html, body {
  height: 100%;
  margin: 0px 0px 0px 0px;
  overflow: hidden;
  padding: 0px 0px 0px 0px;
}

#chart {
  height: 100%;
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart"></div>