【发布时间】:2017-09-19 12:13:17
【问题描述】:
我试图在一行中使用谷歌图表创建 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>
这是正常屏幕的输出
【问题讨论】:
-
调整 google 的
PieChart是最糟糕的 -- 减少图表之间的差距,使用选项 -->chartArea.width = '100%'-- 但这不会修复标签 -- 显示标签,使用选项 - ->legend.position = 'top'-- 而不是'labeled'并删除fontSize,14太大 --- 但这会带来差距...
标签: javascript css charts google-visualization