问题描述
我正在尝试将我的网站转换为使用Foundation6。大多数都可以,但是Google图表存在问题。我已将图表放入大12单元格内:
I am trying to convert my website to use Foundation 6. Most of it works OK, but I have a problem with Google charts. I have put my chart inside large-12 cell:
<div class="large-12 cell">
<div id="chart_div">
</div>
</div>
但图表太窄-应该与顶部菜单一样宽:
but the chart is too narrow - it should be as wide as the top menu:
推荐答案
默认情况下,图表未完全填满container
参见以下代码段中的 cyan 部分...
by default, the chart does not fully fill the width of the container
see cyan section in following snippet...
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var statsData = new google.visualization.DataTable();
statsData.addColumn('number', 'x');
statsData.addColumn('number', 'y');
statsData.addRows([
[0, 0], [1, 10], [2, 23], [3, 17], [4, 18], [5, 9],
[6, 11], [7, 27], [8, 33], [9, 40], [10, 32], [11, 35],
[12, 30], [13, 40], [14, 42], [15, 47], [16, 44], [17, 48],
[18, 52], [19, 54], [20, 42], [21, 55], [22, 56], [23, 57],
[24, 60], [25, 50], [26, 52], [27, 51], [28, 49], [29, 53],
[30, 55], [31, 60], [32, 61], [33, 59], [34, 62], [35, 65],
[36, 62], [37, 58], [38, 55], [39, 61], [40, 64], [41, 65],
[42, 63], [43, 66], [44, 67], [45, 69], [46, 69], [47, 70],
[48, 72], [49, 68], [50, 66], [51, 65], [52, 67], [53, 70],
[54, 71], [55, 72], [56, 73], [57, 75], [58, 70], [59, 68],
[60, 64], [61, 60], [62, 65], [63, 67], [64, 68], [65, 69],
[66, 70], [67, 72], [68, 75], [69, 80]
]);
var options = {
backgroundColor: 'cyan',
colors: ['magenta'],
title: 'title',
height: 600,
legend: {
position: 'bottom'
},
bar: {
groupWidth: '75%'
},
isStacked: false
};
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
chart.draw(statsData, options);
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
使用 chartArea
选项来扩展图表到容器的边缘,
使用 top
, left
,底部
,右
为轴标签,标题等留出空间。
use chartArea
options to stretch the chart to the edges of the container,
use top
, left
, bottom
, right
to leave room for the axis labels, title, etc.
chartArea: {
height: '100%',
width: '100%',
top: 48,
left: 48,
right: 16,
bottom: 48
},
在'resize'
上重新绘制图表以使其响应...
redraw the chart on 'resize'
to make it responsive...
请参阅以下工作片段。
see following working snippet...
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var statsData = new google.visualization.DataTable();
statsData.addColumn('number', 'x');
statsData.addColumn('number', 'y');
statsData.addRows([
[0, 0], [1, 10], [2, 23], [3, 17], [4, 18], [5, 9],
[6, 11], [7, 27], [8, 33], [9, 40], [10, 32], [11, 35],
[12, 30], [13, 40], [14, 42], [15, 47], [16, 44], [17, 48],
[18, 52], [19, 54], [20, 42], [21, 55], [22, 56], [23, 57],
[24, 60], [25, 50], [26, 52], [27, 51], [28, 49], [29, 53],
[30, 55], [31, 60], [32, 61], [33, 59], [34, 62], [35, 65],
[36, 62], [37, 58], [38, 55], [39, 61], [40, 64], [41, 65],
[42, 63], [43, 66], [44, 67], [45, 69], [46, 69], [47, 70],
[48, 72], [49, 68], [50, 66], [51, 65], [52, 67], [53, 70],
[54, 71], [55, 72], [56, 73], [57, 75], [58, 70], [59, 68],
[60, 64], [61, 60], [62, 65], [63, 67], [64, 68], [65, 69],
[66, 70], [67, 72], [68, 75], [69, 80]
]);
var options = {
backgroundColor: 'cyan',
colors: ['magenta'],
// set chart area size
chartArea: {
height: '100%',
width: '100%',
top: 48,
left: 48,
right: 16,
bottom: 48
},
height: '100%',
width: '100%',
title: 'title',
legend: {
position: 'bottom'
},
bar: {
groupWidth: '75%'
},
isStacked: false
};
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
drawChart();
window.addEventListener('resize', drawChart, false);
function drawChart() {
chart.draw(statsData, options);
}
});
html, body {
height: 100%;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
}
#chart_div {
height: 600px;
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
这篇关于Google Chart在Foundation 6中过窄的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!