javascript - Google Charts 每页仅显示一个图表

标签 javascript charts google-visualization

我想显示两个图表,但由于某种原因它只显示第一个

它只显示 sarahChart,如果我交换函数的顺序,它将只显示 anthonyChart

这是我的脚本:

<script type="text/javascript">

    google.load('visualization', '1.0', {'packages':['corechart']});

    google.setOnLoadCallback(drawSarahChart);

    google.setOnLoadCallback(drawAnthonyChart);

    function drawSarahChart() {

        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Emplacement');
        data.addColumn('number', 'Quantité');
        data.addRows(<?php echo "[\n";
            echo $prefix . " [\n";
            echo '  "Stock",' . "\n";
            echo $count_stock . '' . "\n";
            echo " ]";
            $prefix = ",\n";
            echo $prefix . " [\n";
            echo '  "Maintenance",' . "\n";
            echo $count_maint . '' . "\n";
            echo " ]";
            $prefix = ",\n";
            foreach ( $combined_depart as $key => $value ) {
                echo $prefix . " [\n";
                echo '  "' . $key . '",' . "\n";
                echo $value . '' . "\n";
                echo " ]";
                $prefix = ",\n";
        }
        echo "\n]";?>);

        var options = {title:'Nombre de materiel par emplacement',
                                     width:600,
                                     height:500};

        var chart = new google.visualization.PieChart(document.getElementById('Sarah_chart_div'));
        chart.draw(data, options);
    }

    function drawAnthonyChart() {

        var data = new google.visualization.DataTable();
        data.addColumn('string', 'type');
        data.addColumn('number', 'quantité');
        data.addRows(<?php echo "[\n";
            foreach ( $combined as $key => $value ) {
                echo $prefix . " [\n";
                echo '  "' . $key . '",' . "\n";
                echo $value . '' . "\n";
                echo " ]";
                $prefix = ",\n";
        }
        echo "\n]"; ?>);

        var options = {
            title: "Nombre de materiel par type",
            width: 400,
            height: 300
        };

        var chart = new google.visualization.BarChart(document.getElementById('Anthony_chart_div'));
        chart.draw(data, options);
    }

</script>

这是 html:

<table class="columns">
  <tr>
    <td><div id="Sarah_chart_div"></div></td>
            <td><div id="Anthony_chart_div"></div></td>
  </tr>
</table>

顺便说一句,如果我放

  google.charts.load('current', {'packages':['corechart']});

  google.charts.setOnLoadCallback(drawSarahChart);

  google.charts.setOnLoadCallback(drawAnthonyChart);

相反,在开始时,两个图表都没有显示控制台显示以下错误:

无法读取未定义的属性“load”

如果我只用

替换 2 行
  google.charts.setOnLoadCallback(drawSarahChart);

  google.charts.setOnLoadCallback(drawAnthonyChart);

都不再显示,控制台显示以下错误:

无法读取未定义的属性“setOnLoadCallback”

请帮忙,谢谢!

最佳答案

第一个 setOnLoadCallback 每页只能调用一次

但您可以将回调直接包含在load语句中

尝试这样的事情...

google.load('visualization', '1.0', {
  callback: function () {
    drawSarahChart();
    drawAnthonyChart();
  },
  packages: ['corechart']
});

关于javascript - Google Charts 每页仅显示一个图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38639391/

相关文章:

javascript - jQuery:从第一个 child 或自身返回文本

javascript - 按字母顺序排列的复选框输入类型

javascript - 如何在 google api 图表中设置 y 轴格式并删除 columnchart 包的 y 轴边框线?

javascript - className 只改变每隔一个类

java - JFreeChart 直方图在缩放时具有恒定数量的 bin

javascript - 如何将 Highcharts 日期时间 x 轴与我传递给它的数据对齐?

JavaScript 不适用于 browserfield OS5 中的图表

javascript - Google Charts MySQL 查询错误

google-visualization - 如何使用Google图表绘制折线图

javascript - Fontawesome 图标文本出现而不是图标