javascript - 使 Google Chart Gauge 具有响应能力

标签 javascript responsive-design google-visualization

我想创建一个应该是网络响应的 Google Gauge 图表。 我听说将宽度设置为“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

有谁知道如何让它响应网络?

最佳答案

图表不会自动调整大小。您必须设置一个在调整大小时调用 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);
    }
}

在选项中将 heightwidth 设置为 100% 不会为您做任何事情。您需要在 CSS 中为您的容器 div 设置它们:

#test {
    height: 100%;
    width: 100%;
}

请记住以下几点:除非父元素具有特定高度,否则将高度设置为 100% 不会执行任何操作;同样,Gauge 的高度和宽度由较小的尺寸决定。因此,如果您在不指定容器 #test(或其父容器)高度的情况下增加屏幕尺寸,则可能的结果是图表不会改变尺寸。

关于javascript - 使 Google Chart Gauge 具有响应能力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18979535/

相关文章:

google-visualization - Google可视化: Pie Chart output to a PNG image?可以吗

javascript - 隐藏的密码字段不显示 php javascript

javascript - 在所有设备尺寸上具有固定标题的 Bootstrap 响应表?

javascript - 如何在 POST 之前检查数据库中已有的文档 - MongoDB、NodeJS

javascript - 有人可以通过响应式设计解释响应式功能吗?

css - 如何使元素在双列布局中显示第 2 个,在与 Bootstrap 3 堆叠时显示第 3 个

python - 从 Python 生成图形的最简单方法?

PHP:帮助格式化 Google(条形)图表

javascript - 如何在 MVC3 中将 Javascript 变量设置为模型字符串数组?

JavaScript:如何将包含逗号的用户输入转换为数字?