当前位置: 首页 > 面试题库 >

Google Chart From Php变量

太叔昊苍
2023-03-14
问题内容

我正在尝试通过Google Chart API创建图表,但无法将php变量放入脚本中:我得到了空白页。

的PHP

$columns = array(
                array('string' => 'x'),
                array('number' => 'values'),
                array('id' => 'i1', 'type' => 'number', 'role' => 'interval'), 
                array('id' => 'i1', 'type' => 'number', 'role' => 'interval'),
                array('number' => 'OtherValues'),
                array('id' => 'i1', 'type' => 'number', 'role' => 'interval'),
                array('id' => 'i1', 'type' => 'number', 'role' => 'interval') 
                 );
$test = array(
                array( 'a' => array(100, 90, 150,15,10,20)),
                array( 'b' => array(120, 95, 130,20,10,30)),
                array( 'c' => array(130, 105, 140,30,25,35)),
                array( 'd' => array( 90, 85, 95,40,35,45)),
                array( 'e' => array(70, 74, 63,50,45,55)),
                array( 'f' => array(30, 39, 22,60,55,65)),
                array( 'g' => array(100, 90, 150,15,10,20)),

    );
$table['cols'] = $columns;
$table['rows'] = $test;

HTML视图

<div id="chart-lines"></div>
<script>
    google.setOnLoadCallback(drawChart);
    function drawChart() {
    var data = new google.visualization.DataTable(<?php echo json_encode($table) ?>);


    // The intervals data as narrow lines (useful for showing raw source
    // data)
    var options_lines = {
        title: 'Line intervals, default',
      intervals: { 'lineWidth':2, 'barWidth': 0.5 },

        legend: 'none',
    };

    var chart_lines = new google.visualization.LineChart(document.getElementById('chart-lines'));
    chart_lines.draw(data, options_lines);
}
</script>

使用Google Chrome Javascript控制台,对于每个具有以下详细信息的图形,我都会收到“未捕获的错误:无效的类型:未定义”:

R.Osa
R.ug
(anonymous function)
nj.(anonymous function).d
Ep
drawchart

问题答案:

对于Visualization API的DataTable构造函数,您的数据结构不正确。

对于列正确的格式是列对象的数组,其中每个对象具有type(强制), ,labelidp(所有可选)属性。
type是可能的值的字符串stringnumberbooleandatedatetime,和timeofday
label并且id是字符串。 p是列属性的对象。

行的正确格式是行对象的数组,其中每个对象都有cp属性。 c是单元格对象的数组。
p是行属性的对象。单元格对象具有vfp属性,其中v是单元格的值,是单元格f的字符串格式的值,并且p是单元格属性的对象。

所有属性对象支持的属性都取决于您所绘制的图表类型。

使用PHP的json_encode功能,将关联数组转换为对象,将非关联数组转换为数组。表的适当结构应如下所示:

$columns = array(
    array('type' => 'string', 'label' => 'x'),
    array('type' => 'number', 'label' => 'values'),
    // each interval should have its own unique id,
    // but leaving them the same won't break anything for your chart as-is
    array('type' => 'number', 'id' => 'i1', 'p' => array('role' => 'interval')),
    array('type' => 'number', 'id' => 'i1', 'p' => array('role' => 'interval')),
    array('type' => 'number', 'label' => 'OtherValues'),
    array('type' => 'number', 'id' => 'i1', 'p' => array('role' => 'interval')),
    array('type' => 'number', 'id' => 'i1', 'p' => array('role' => 'interval'))
);

$test = array(
    array('c' => array(
        array('v' => 'a'),
        array('v' => 100),
        array('v' => 90),
        array('v' => 150),
        array('v' => 15),
        array('v' => 10),
        array('v' => 20)
    )),
    // etc
);
$table['cols'] = $columns;
$table['rows'] = $test;


 类似资料:
  • 问题内容: 我如何在for循环中创建变量变量? 这是循环: 在此循环中,我想为每次传递创建一个$ seat变量,但必须像这样递增。第一次通过应该是,下次通过:等等。 所以最后应该是: 等等。 因此$ _POST的变量和内容应该是动态的。 问题答案: 首先,除非缺少某些内容,否则我将为此使用数组。具有像变量,等趋于具有少得多的效用和是更为繁琐比使用的阵列。 话虽这么说,使用以下语法: 最后,PHP具

  • 我最近与一家软件公司进行了一次面试,他问了我以下问题: 你能给我描述一下在变量前面添加volatile有什么作用吗?你能给我解释一下为什么这很重要吗? 我的大部分编程知识都来自C语言,但我的工作岗位是C#(我想如果需要的话,我可以特别为这个问题添加一些信息)

  • 变量绑定默认是不可变的,但加上 mut 修饰语后变量就可以改变。 fn main() { let _immutable_binding = 1; let mut mutable_binding = 1; println!("Before mutation: {}", mutable_binding); // 正确代码 mutable_binding += 1

  • 以下是经典的实践中的一致性: 当线程A写入一个易失性变量,随后线程B读取相同的变量时,A在写入易失性变量之前可见的所有变量的值在读取易失性变量后变得对B可见。 我不确定我真的能理解这句话。例如,在这种情况下,所有变量的含义是什么?这是否意味着使用对使用非volatile变量也有副作用<在我看来,这句话有一些我无法理解的微妙含义<有什么帮助吗?

  • 本文向大家介绍python不可变变量?相关面试题,主要包含被问及python不可变变量?时的应答技巧和注意事项,需要的朋友参考一下 不可变对象是指不可以被引用改变的对象,如字符串 #

  • null null null 所以现在,如果我想把一个应用程序部署到舞台上,我可以简单地运行这个playbook命令: 例如,我将staging/group_vars/webserver中的app1目录的路径定义为“/var/www/staging.app1.com”。但是我也需要为app2部署到相同的服务器上,但是目录不同。是否可以在group_vars中使用条件变量? 所以如果我跑: 敬请指教

  •   - a - addr : rt_i2c_bus_device , rt_i2c_msg ai_addr : addrinfo ai_addrlen : addrinfo ai_canonname : addrinfo ai_family : addrinfo ai_flags : addrinfo ai_next : addrinfo ai_protocol : addrinfo ai_soc

  • 问题内容: 我继承了一些Python代码,这些代码用于创建巨大的表(最多19列,每行5000行)。花了 九秒钟 时间在屏幕上绘制了表格。我注意到每一行都是使用以下代码添加的: 字符串在哪里。 我将其更改为: 我注意到桌子现在出现了 六秒 。 然后我将其更改为: 基于这些Python性能提示(仍为6秒)。 由于调用了大约5000次,因此突出了性能问题。但是为什么会有如此大的差异呢?为什么编译器没有在