我想创建一个谷歌仪表图表,这应该是网络响应。我听说将宽度设置为“100%”应该可以,但实际上并没有做任何更改。
下面你可以看到我的代码。
<script type='text/javascript'>
google.load('visualization', '1', {packages:['gauge']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Label', 'Value'],
['Happiness', 40],
]);
var options = {
width: '100%', height: '100%',
redFrom: 0, redTo: 40,
yellowFrom:40, yellowTo: 70,
greenFrom: 70, greenTo: 100,
minorTicks: 5
};
var chart = new google.visualization.Gauge(document.getElementById('test'));
chart.draw(data, options);
}
</script>请看我的例子。Example Test
有谁知道如何让它成为网络响应式的?
发布于 2013-09-24 22:49:45
图表不会自动调整大小。您必须设置一个在调整大小时调用chart.draw(data, options);的事件处理程序:
function drawChart () {
var data = google.visualization.arrayToDataTable([
['Label', 'Value'],
['Happiness', 40]
]);
var options = {
redFrom: 0,
redTo: 40,
yellowFrom:40,
yellowTo: 70,
greenFrom: 70,
greenTo: 100,
minorTicks: 5
};
var chart = new google.visualization.Gauge(document.getElementById('test'));
chart.draw(data, options);
function resizeHandler () {
chart.draw(data, options);
}
if (window.addEventListener) {
window.addEventListener('resize', resizeHandler, false);
}
else if (window.attachEvent) {
window.attachEvent('onresize', resizeHandler);
}
}在选项中将height和width设置为100%对您没有任何帮助。您将需要在CSS中为您的容器div:
#test {
height: 100%;
width: 100%;
}请记住以下几点:将height设置为100%不会做任何事情,除非父元素具有特定的高度;另外,仪表的高度和宽度由尺寸中较小的一个决定。因此,如果在不指定容器#test (或其父容器)的高度的情况下增加屏幕的大小,可能的结果是图表不会改变大小。
发布于 2014-05-07 18:07:49
你只需在选项中指定宽度为100%,并使用带有width="100%“的响应式div标签,或者在这里转到fiddle链接,你可以在这里看到实时演示。
//html此处
<div class="row">
<div class="col-xs-12 col-sm-6">
<div id="chart_div"></div>
</div>
</div>//js这里
var options = {'title':'How Much Pizza I Ate Last Night',
'width':'100%',
};https://stackoverflow.com/questions/18979535
复制相似问题