我试图在一行中使用谷歌图表创建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>
这是普通屏幕中的输出
答案 0 :(得分:1)
只需在绘制图表之前在您的JavaScript代码上添加以下行:
options.chartArea = {left: '10%', width: '100%', height: '65%'};
我还将图例字体大小更改为10。
下面是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>
希望有帮助。