我正在使用Google Charting API的项目中工作,我想使用json填充图表以构建数据表。
作为测试,我尝试构建一个简单的数组,然后再尝试使用数据库中的动态数据进行处理,但是在以正确的格式获取json时遇到了问题。
在Google文档中,它表示json内容应位于以下内容中:
{
"cols": [
{"id":"","label":"Topping","pattern":"","type":"string"},
{"id":"","label":"Slices","pattern":"","type":"number"}
],
"rows": [
{"c":[{"v":"Mushrooms","f":null},{"v":3,"f":null}]},
{"c":[{"v":"Onions","f":null},{"v":1,"f":null}]},
{"c":[{"v":"Olives","f":null},{"v":1,"f":null}]},
{"c":[{"v":"Zucchini","f":null},{"v":1,"f":null}]},
{"c":[{"v":"Pepperoni","f":null},{"v":2,"f":null}]}
]
}
我正在调用一个返回json代码的函数。
下面是该函数的调用方式
print json_encode(test());
测试功能是
function test()
{
$array = array();
$array['cols'][] = "20-01-13";
$array['cols'][] = "21-01-13";
$array['cols'][] = "22-01-13";
$array['rows'][] = 22;
$array['rows'][] = 26;
$array['rows'][] = 12;
return $array;
}
生成图表的javascript如下
<script>
google.load('visualization', '1', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChart);
function drawChart() {
var jsonData = $.ajax({
url: "loadGraph.php",
dataType:"json",
async: false
}).responseText;
var data = new google.visualization.DataTable(jsonData);
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.PieChart(document.getElementById('lineGraph'));
chart.draw(data, {width: 400, height: 240});
}
</script>
当我回显json时,它将以以下格式返回
{"cols":["20-01-13","21-01-13","22-01-13"],"rows":[22,26,12]}
如果我尝试将其用于Google图表的数据集,则会收到以下消息
Cannot read property of '1' of undefined
我只是在构建一个简单的折线图,它仅包含沿x轴的日期和沿y轴的日期在该日期发生了多少次的计数。
我该如何建立阵列,以正确的格式获取Google api图表。
感谢您的任何帮助,您可以提供。
您 需要 为cols 指定参数 类型 。请参阅Google Charts
JSON格式
您的PHP代码应类似于:
function test()
{
$array['cols'][] = array('type' => 'string');
$array['cols'][] = array('type' => 'string');
$array['cols'][] = array('type' => 'string');
$array['rows'][] = array('c' => array( array('v'=>'20-01-13'), array('v'=>22)) );
$array['rows'][] = array('c' => array( array('v'=>'21-01-13'), array('v'=>26)));
$array['rows'][] = array('c' => array( array('v'=>'22-01-13'), array('v'=>12)));
return $array;
}
print json_encode(test());
您的json代码看起来更像:
{
"cols": [
{"type": "string"},
{"type": "string"},
{"type": "string"}
],
"rows": [
{"c":[{"v":"20-01-13"}, {"v":22} ]},
{"c":[{"v":"21-01-13"}, {"v":26} ]},
{"c":[{"v":"22-01-13"}, {"v":12} ]}
]
}
我想避免这些000001、0999999等。提前谢谢。
利用call函数控制数组的输出格式: #include <stdio.h> int matrix[10][10]; /* 格式化输出数组 */ void print(int matrix[][10], int m, int n) { int i, j; for (i = 0; i < m; ++i) { for (j = 0; j < n; ++j)
问题内容: 我正在尝试在数据库中查询产品ID数组中包含“ product_id”的记录。 该数组是多重选择输入()的发布结果,如下所示: 我想将该数组传递给SQL语句的“ IN”子句,例如: …但这是行不通的(错误:)。 一些帖子建议使用此函数以适合SQL的方式格式化数组: 如 … 这将导致以下查询: …以及此错误: 我究竟做错了什么? 任何帮助是极大的赞赏!如果需要,我可以澄清这个问题:) 问题
问题内容: 我正在通过这样的套接字接收字符串 我想将其转换回数组。我尝试使用 但是它将数组内的数组分割开。 我将如何将字符串转换为数组? 问题答案: 使用比。从文档: 31.2。ast —抽象语法树¶ 安全地评估表达式节点或包含Python表达式的字符串。提供的字符串或节点只能由以下Python文字结构组成:字符串,数字,元组,列表,字典,布尔值和无。 这可用于安全地评估包含来自不受信任来源的Py
如何将此字符串转换为忽略前2个字符和换行符(\n)或空格的字符数组?所以我有这个:
在探索中等维度数据时,经常需要在数据集的不同子集上绘制同一类型图的多个实例。这种技术有时被称为“网格”或“格子”绘图,它与“多重小图”的概念有关。这种技术使查看者从复杂数据中快速提取大量信息。 Matplotlib为绘制这种多轴图提供了很好的支持; seaborn构建于此之上,可直接将绘图结构和数据集结构关系起来。 要使用网格图功能,数据必须在Pandas数据框中,并且必须采用 Hadley Wh