javascript 如何正确地将Google Chart与PHP集成

x33g5p2x  于 2023-04-10  发布在  Java
关注(0)|答案(1)|浏览(109)

我有3列(茶,牛奶,百事可乐)在一个表与各自的价值观被插入
当我将它与谷歌图表集成时,事情似乎部分工作正常。
我的
主要问题
是如何让栏目名称tea,milk,pepsi出现在横轴各自栏目的底部

这里是代码

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

google.charts.setOnLoadCallback(column_chart);

function column_chart() {
    var res = $.ajax({
    url: 'chart.php',
    dataType:"json",
    async: false,
    success: function(res)
    {
      var options = {'title':'Foods Items', 'width':800, 'height':400,
      series: {
                0: { color: 'purple' },
                1: { color: 'navy' },
              
              }
    };    
    
    var data = new google.visualization.arrayToDataTable(res);
    var chart = new google.visualization.ColumnChart(document.getElementById('columnchart_data'));
    chart.draw(data, options);
    
    }
    }).responseText;
 }
        
    <?php
    
    include('db.php');
    
    $data[] = array('Foods Items', 'Tea','Milk', 'Pepsi');   
   
    $res = $db->prepare('SELECT 
    tea AS value_tea,
    milk AS value_milk,
    pepsi AS value_pepsi FROM foods');
    $res->execute(array());

    while($row = $res->fetch()) {   
      $tea = $row['value_tea'];
      $milk = $row['value_milk'];
      $pepsi = $row['value_pepsi'];
      $fd= 'Provisions';
      $data[] = array($fd,(int)$tea,(int)$milk,(int)$pepsi);
    }
      
    echo json_encode($data);

下面的截图显示了我想添加表列名tea,milk and pepsi的位置,如箭头所示。
任何解决方案或替代方案都是可以理解的。

qnzebej0

qnzebej01#

目前,您的数据结构如下……

[
  ['Foods Items', 'Tea', 'Milk', 'Pepsi'],
  ['Provisions', 35, 66, 48]
]

要获得所需的图表,请按以下方式重新构建数据...

[
  ['Foods Items', 'Provisions']
  ['Tea', 35]
  ['Milk', 66]
  ['Pepsi', 48]
]

这将在每个栏下创建一个标签。
然而,这也将所有的食物项目放入一个系列中。
所以你可能会想要添加一个样式列,以便给予每个酒吧一个不同的颜色...

[
  ['Foods Items', 'Provisions', {role: 'style', type: 'string'}]
  ['Tea', 35, 'purple']
  ['Milk', 66, 'navy']
  ['Pepsi', 48, 'gold']
]

相关问题