首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使Google Chart Gauge响应

使Google Chart Gauge响应
EN

Stack Overflow用户
提问于 2013-09-24 18:48:59
回答 2查看 15.5K关注 0票数 5

我想创建一个谷歌仪表图表,这应该是网络响应。我听说将宽度设置为“100%”应该可以,但实际上并没有做任何更改。

下面你可以看到我的代码。

代码语言:javascript
复制
<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

有谁知道如何让它成为网络响应式的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-24 22:49:45

图表不会自动调整大小。您必须设置一个在调整大小时调用chart.draw(data, options);的事件处理程序:

代码语言:javascript
复制
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);
    }
}

在选项中将heightwidth设置为100%对您没有任何帮助。您将需要在CSS中为您的容器div:

代码语言:javascript
复制
#test {
    height: 100%;
    width: 100%;
}

请记住以下几点:将height设置为100%不会做任何事情,除非父元素具有特定的高度;另外,仪表的高度和宽度由尺寸中较小的一个决定。因此,如果在不指定容器#test (或其父容器)的高度的情况下增加屏幕的大小,可能的结果是图表不会改变大小。

票数 17
EN

Stack Overflow用户

发布于 2014-05-07 18:07:49

你只需在选项中指定宽度为100%,并使用带有width="100%“的响应式div标签,或者在这里转到fiddle链接,你可以在这里看到实时演示。

//html此处

代码语言:javascript
复制
 <div class="row"> 
   <div class="col-xs-12 col-sm-6">
    <div id="chart_div"></div>
  </div>
 </div>

//js这里

代码语言:javascript
复制
 var options = {'title':'How Much Pizza I Ate Last Night',
                   'width':'100%',
                  };
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18979535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档