首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Google Chart中更改图例/标签

在Google Chart中更改图例/标签
EN

Stack Overflow用户
提问于 2019-06-27 01:15:48
回答 1查看 3.5K关注 0票数 1

我通过mysqli从数据库中提取数据来创建Google饼图。数据来自一列(a1),但每个条目都是不同的(例如,a、b、c),我列出了每个条目/答案的响应百分比。例如,a= 20% b= 30%

每个条目对应一种不同的社交媒体类型,我需要显示这种类型,但不会显示在数据库本身中。有没有一种方法可以改变图表的图例,而不是列出A,B,C,而是用一个自定义标签来代替它?(例如,不显示'A‘显示'Facebook')。

my column

my current chart

我试过在变量数据下使用标题,在选项下使用标签,在选项下使用图例。我觉得我好像错过了什么

代码语言:javascript
复制
 <?php  
   $connect = mysqli_connect("localhost", "root", "root", "survey");  
   $query = "SELECT a1, count(*) as number FROM rtp2k GROUP BY a1";  
   $result = mysqli_query($connect, $query);  
 ?>  
 <!DOCTYPE html>  
  <html>  
  <head>  
       <title>Sad me is Sad </title>  
       <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>  
       <script type="text/javascript">  
       google.charts.load('current', {'packages':['corechart']});  
       google.charts.setOnLoadCallback(drawChart);  
       function drawChart()  
       {  
            var data = google.visualization.arrayToDataTable([  
                      ['social', 'number'],  

                      <?php  
                      while($row = mysqli_fetch_array($result))  
                      {  
                           echo "['".$row["a1"]."', ".$row["number"]."],";  
                      }  
                      ?>  
                 ]);  
            var options = {  
                  title: 'Which social networks do you use most often?',  
                  //is3D:true,  
                  pieHole: 0.4,

                 };  
            var chart = new google.visualization.PieChart(document.getElementById('piechart'));  
            chart.draw(data, options);  
       }  
       </script>  
    </head>  
    <body>  
       <br /><br />  
       <div style="width:900px;">  
            <h3 align="center">Make Simple Pie Chart by Google Chart API with PHP Mysql</h3>  
            <br />  
           <div id="piechart" style="width: 900px; height: 500px;">         
         </div>  
     </div>  
   </body>  
</html>  

现在我的图例根据数据库中的内容列出了类型,(例如,a,b,c)我想用我自己的标签/标题替换字母(例如,我希望它显示为'Facebook‘,而不是'a’。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-27 02:02:25

为保持一致性进行了编辑。

我们可以对计算列使用DataView

将值转换为网络名称。

首先,创建一个对象来将值映射到名称。

代码语言:javascript
复制
        var socialNetworks = {
          a: 'Facebook',
          b: 'Instagram',
          c: 'LinkedIn'
        };

然后,我们从DataTable创建一个DataView

代码语言:javascript
复制
        var view = new google.visualization.DataView(data);

然后使用setColumns方法为转换添加计算列。

我们使用数字的列索引,因为它不会改变。

代码语言:javascript
复制
        view.setColumns([{
          calc: function (dt, row) {
            return socialNetworks[data.getValue(row, 0)];
          },
          label: 'social',
          type: 'string'
        }, 1]);

然后使用DataView绘制图表。

代码语言:javascript
复制
        chart.draw(view, options);

完整的代码片段...

代码语言:javascript
复制
        var data = google.visualization.arrayToDataTable([
                  ['social', 'number'],

                  <?php
                  while($row = mysqli_fetch_array($result))
                  {
                       echo "['".$row["a1"]."', ".$row["number"]."],";
                  }
                  ?>
             ]);
        var options = {
              title: 'Which social networks do you use most often?',
              //is3D:true,
              pieHole: 0.4,

             };

        var socialNetworks = {
          a: 'Facebook',
          b: 'Instagram',
          c: 'LinkedIn'
        };

        var view = new google.visualization.DataView(data);
        view.setColumns([{
          calc: function (dt, row) {
            return socialNetworks[data.getValue(row, 0)];
          },
          label: 'social',
          type: 'string'
        }, 1]);

        var chart = new google.visualization.PieChart(document.getElementById('piechart'));
        chart.draw(view, options);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56778035

复制
相关文章

相似问题

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