简体   繁体   English

javascript - 如何在同一页面上加载两个谷歌图表,不同的div

[英]javascript - How to load two google charts on the same page, different divs

After a dozen research, still could not solve my problem in showing two graphs on the same page (with Google Charts ). 经过十几项研究,仍然无法解决我在同一页面上显示两个图表的问题(使用Google Charts )。

I could not figure out what is wrong or what I'm forgetting, if someone can give me some tips or point me what I'm missing, I'll be grateful. 我无法弄清楚出了什么问题,或者我忘记了什么,如果有人能给我一些提示或指出我缺少的东西,我将不胜感激。

I'm able to show 1 chart, but when I try to show another one, the first dissapears. 我能够显示1张图表,但是当我尝试显示另一张图表时,第一张图表就会消失。

Here's my code: 这是我的代码:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">

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


    //google.setOnLoadCallback(drawChartAtleta);
    //google.setOnLoadCallback(drawChartSexo);
    google.setOnLoadCallback(function () {
        drawChartAtleta();
        drawChartSexo();
    });      


    //Grafico Atleta por esporte
    function drawChartAtleta() {

        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Esporte');
        data.addColumn('number', 'Quantidade');
        data.addRows([
          ['Basquete', 30],
          ['Tenis de Mesa', 17]
        ]);

        var options = {
            'title': 'Por Esporte',
            'width': 500,
            'height': 300
        };


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

    //Grafico por Sexo
    function drawChartSexo() {


        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Sexo');
        data.addColumn('number', 'Quantidade');
        data.addRows([
          ['Masculino', 165],
          ['Feminino', 67]
        ]);


        var options = {
            'title': 'Por Sexo',
            'width': 500,
            'height': 300
        };


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


</script>

<div class="container">
    <div class="col-lg-12">
        <div class="col-lg-6">
            <div class="form-group">
                <div id="char_sexo"></div>
            </div>                
        </div>
        <div class="col-lg-6">
            <div class="form-group">
                <div id="char_atleta"></div>
            </div>
        </div>
    </div>
</div>

Here's your script working, you were calling: google.visualization.CollumChart instead of google.visualization.ColumnChart , always check for javascript errors in the browser developer's console. 这是您的脚本工作,您正在调用: google.visualization.CollumChart而不是google.visualization.ColumnChart ,始终在浏览器开发人员的控制台中检查javascript错误。 (f12 usually) (通常是f12)

Check google charts documentation for more info about column charts 有关柱形图的更多信息,请查看谷歌图表文档

 <div class="container"> <div class="col-lg-12"> <div class="col-lg-6"> <div class="form-group"> <div id="char_sexo"></div> </div> </div> <div class="col-lg-6"> <div class="form-group"> <div id="char_atleta"></div> </div> </div> </div> </div> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('visualization', '1.0', { 'packages': ['corechart'] }); //google.setOnLoadCallback(drawChartAtleta); //google.setOnLoadCallback(drawChartSexo); google.setOnLoadCallback(function () { drawChartAtleta(); drawChartSexo(); }); //Grafico Atleta por esporte function drawChartAtleta() { var data = new google.visualization.DataTable(); data.addColumn('string', 'Esporte'); data.addColumn('number', 'Quantidade'); data.addRows([ ['Basquete', 30], ['Tenis de Mesa', 17] ]); var options = { 'title': 'Por Esporte', 'width': 500, 'height': 300 }; //This line was changed. var chart = new google.visualization.ColumnChart(document.getElementById('char_atleta')); chart.draw(data, options); } //Grafico por Sexo function drawChartSexo() { var data = new google.visualization.DataTable(); data.addColumn('string', 'Sexo'); data.addColumn('number', 'Quantidade'); data.addRows([ ['Masculino', 165], ['Feminino', 67] ]); var options = { 'title': 'Por Sexo', 'width': 500, 'height': 300 }; var chart = new google.visualization.PieChart(document.getElementById('char_sexo')); chart.draw(data, options); } </script> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM