谷歌图表 - 标签没有显示

时间:2017-09-19 12:13:18

标签: javascript css charts google-visualization

我试图在一行中使用谷歌图表创建3个图表。但它没有显示值的标签,我们可以看到图表之间有很多空格空置。有什么方法可以删除空格并在图表中正确显示标签?

google.charts.load('current', {
  'packages': ['corechart']
});
google.charts.setOnLoadCallback(drawChart);

function drawChart() {

  var data = google.visualization.arrayToDataTable([
    ['Task', 'Hours per Day'],
    ['Work', 5],
    ['Eat', 2],
    ['Commute', 2],
    ['Watch TV', 2],
    ['Sleep', 7]
  ]);

  var options = {
    pieSliceText: 'value',
    pieHole: '0.5',

    legend: {
      position: 'labeled',
      labeledValueText: 'both',
      textStyle: {
        color: 'blue',
        fontSize: 14
      }
    },
  };

  var chart1 = new google.visualization.PieChart(document.getElementById('chart1'));
  var chart2 = new google.visualization.PieChart(document.getElementById('chart2'));
  var chart3 = new google.visualization.PieChart(document.getElementById('chart3'));
  options.title = 'industries For USA';
  chart1.draw(data, options);
  options.title = 'Categories For USA';
  chart2.draw(data, options);
  options.title = 'Categories For Construction';
  chart3.draw(data, options);
}
.chart-wrapper {
  float: left;
  width: 33%;
}

.top-five-charts {
  width: 100%;
  display: block;
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div class="top-five-charts">
  <div class="chart-wrapper">
    <div id="chart1" class="insight-pie"></div>
  </div>
  <div class="chart-wrapper">
    <div id="chart2" class="insight-pie"></div>
  </div>
  <div class="chart-wrapper">
    <div id="chart3" class="insight-pie"></div>
  </div>
</div>

这是普通屏幕中的输出

enter image description here

3 个答案:

答案 0 :(得分:1)

只需在绘制图表之前在您的JavaScript代码上添加以下行:

options.chartArea = {left: '10%', width: '100%', height: '65%'};

我还将图例字体大小更改为10。

它看起来像这样: adjusted pie charts

下面是JSFiddle对此的说明:https://jsfiddle.net/6r3ms2tz/

答案 1 :(得分:0)

您应该具有响应式设计原则,请查看以下链接:https://developers.google.com/chart/interactive/docs/basic_customizing_chart

只需根据您的选择更改:“传奇”:“正确”即可。

答案 2 :(得分:0)

经过几次尝试,以下方法起作用:

代码:

let options = {
  legend: {
    position: "labeled",
  },
  chartArea: {
    width: "100%"
  }
};

下面是我的案例的HTML,因为我正在使用https://github.com/FERNman/angular-google-charts

  <google-chart
    style="width: 100%; height: 100%;"
  >
  </google-chart>

适合您的情况的HTML:

<div id="chart1" class="insight-pie" style="width: 100%; height: 100%;" ></div>

希望有帮助。