Javascript 仅在特定情况下绘制谷歌图表(setOnLoadCallback的替代方案)

Javascript 仅在特定情况下绘制谷歌图表(setOnLoadCallback的替代方案),javascript,php,mysql,charts,google-visualization,Javascript,Php,Mysql,Charts,Google Visualization,我有一个页面,应该能够以三种不同的方式可视化数据。第一个是饼图,第二个是折线图,第三个是原始文本(根本没有图表) 我的中有下面的代码 我想从php调用drawChart(),但是当我调用时,它不知道全局变量chart,数据和选项 <script type='text/javascript'> google.charts.load('current', {'packages':['corechart']}); google.charts.setO

我有一个页面,应该能够以三种不同的方式可视化数据。第一个是饼图,第二个是折线图,第三个是原始文本(根本没有图表)

我的
中有下面的代码

我想从php调用
drawChart()
,但是当我调用时,它不知道全局变量
chart
数据和
选项

    <script type='text/javascript'>
        google.charts.load('current', {'packages':['corechart']});
        google.charts.setOnLoadCallback(calcChart);
        var chart, data, options;
        function calcChart() {
            anss = ["seg1", "seg2", "seg3"];
            freqs = ["2", "3", "3"];
            console.log("<?php echo '>> ' . $ansarray . ' <<'; ?>");

            var freqarr = [['Segment', 'Size']];
            for (var i = 0; i < anss.length; i++) {
                ans = anss[i];
                frq = parseInt(freqs[i]);
                freqarr.push([ans, frq]);
            }
            for (var i = 0; i < freqarr.length; i++) {
                console.log(freqarr[i]);
            }
            data = google.visualization.arrayToDataTable(freqarr);

            options = {
                title: 'Antwoorden'
            };

            chart = new google.visualization.PieChart(document.getElementById('piechart'));
        }
        function drawChart() {
            chart.draw(data, options);
        }
    </script>

load('current',{'packages':['corechart']});
google.charts.setOnLoadCallback(calcChart);
var图、数据、期权;
函数calcChart(){
anss=[“seg1”、“seg2”、“seg3”];
频率=[“2”、“3”、“3”];
控制台日志(“”);
var freqarr=[['Segment','Size']];
对于(变量i=0;i
这只是第一步:下一步是用php从MySQL数据库获取的数据填充图表。我该怎么做?

使用php构建json数据以绘制谷歌图表。。。使用php构建用于绘制谷歌图表的json数据。。。