我大致遵循这个例子。但一定是在做一些愚蠢的事情......
服务器端Django查看代码:
data_table = gviz_api.DataTable(description)
data_table.LoadData(data)
json = data_table.ToJSon()
return json
Run Code Online (Sandbox Code Playgroud)
这些是从 pydev 调试器复制粘贴的变量的值:(我对每个描述字段类型使用字符串只是为了测试)
描述:
[("sensor","string", "Sensor name"),
("timestamp","string", "Time"),
("value","string", "Sensor value")]
Run Code Online (Sandbox Code Playgroud)
数据:
[['testsensor', '2011-05-09 16:06:43.936000', '22.0'],
['testsensor', '2011-05-09 16:56:23.367000', '23.0']]
Run Code Online (Sandbox Code Playgroud)
json(由 google api 生成):
{cols:[{id:'sensor',label:'Sensor name',type:'string'},{id:'timestamp',label:'Time',type:'string'},{id:'value',label:'Sensor value',type:'string'}],rows:[{c:[{v:'testsensor'},{v:'2011-05-09 16:06:43.936000'},{v:'22.0'}]},{c:[{v:'testsensor'},{v:'2011-05-09 16:56:23.367000'},{v:'23.0'}]}]}
Run Code Online (Sandbox Code Playgroud)
接收 json 的客户端 javascript 代码:
var json_table = new google.visualization.Table(document.getElementById('dataview'));
var json_data = new google.visualization.DataTable(data, 0.6);
json_table.draw(json_data, {showRowNumber: true});
Run Code Online (Sandbox Code Playgroud)
这会导致在构造 DataTable 对象(第二行)时出现以下错误:
Uncaught Error: Invalid JSON string: {cols:[{id:'sensor',label:'Sensor name',type:'string'},{id:'timestamp',label:'Time',type:'string'},{id:'value',label:'Sensor value',type:'string'}],rows:[{c:[{v:'testsensor'},{v:'2011-05-09 16:06:43.936000'},{v:'22.0'}]},{c:[{v:'testsensor'},{v:'2011-05-09 16:56:23.367000'},{v:'23.0'}]}]}
in default,table.I.js:152
Run Code Online (Sandbox Code Playgroud)
我知道整个线索是确保架构格式与数据格式匹配,但情况似乎确实如此。它必须是一些简单的东西。
我有一个由 Google Chart API 生成的饼图。图表代码如下
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart1);
function drawChart1()
{
var data = google.visualization.arrayToDataTable([
['Location', 'Value'],
["Location A", 20 ],
["Location B", 32],
["Location C", 12],
["Location D", 20],
["Location E", 2],
["Location F", 20],
["Location H", 10]
]);
var options = {
colors : ['#00918c', '#d0c500','#945a94', '#84ac43', '#ea8c1c', '#006daf', '#c54d4d'],
is3D : 'false',
isHTML : 'false',
height : 200,
width : 285,
backgroundColor : "transparent",
chartArea : {left:0,top:0,width:"100%",height:"100%"},
legend : {position: 'right', alignment: "end"}
};
var chart …Run Code Online (Sandbox Code Playgroud) 有什么方法可以在 Google 图表 api 上创建垂直刻度的中断吗?
除了一个接近 300,000 的值外,我在 y 轴上有几十个数据点,大约为 600-2000;这使得所有较小的数据点几乎无法读取。我需要表示所有这些数据,并且不能选择对数刻度。

我创建了一个谷歌区域图表,并给出了一个5的pointSize作为我的截图.
有没有办法在我的点上添加笔划,如下图所示.

我遇到了 Google Visualization API 的问题,因为图表中的某些数据未显示。该图表相当简单,它有 4 列和两行。
http://savedbythegoog.appspot.com/?id=ae0853b788af3292b5547a5b7f1224aed76abfff
function drawVisualization() {
// Create and populate the data table.
var data_table = new google.visualization.DataTable();
data_table.addColumn({"type": "date","label": "Date"});
data_table.addColumn({"type": "number","label": "A"});
data_table.addColumn({"type": "number","label": "B"});
data_table.addColumn({"type": "number","label": "C"});
data_table.addRow([{v: new Date(2013, 5, 26)}, {v: 1}, {v: 0}, {v: 0}]);
data_table.addRow([{v: new Date(2013, 5, 27)}, {v: 2}, {v: 1}, {v: 0.5}]);
var chart = new google.visualization.ColumnChart(document.getElementById('visualization'));
chart.draw(data_table, {
legend: "bottom"
});
}
Run Code Online (Sandbox Code Playgroud)
生成时,图表第一行 (2013-5-26) 不显示任何内容,仅显示第二行的值 2 和 1(省略 0.5)。
我怀疑这可能类似于Google Column Chart Missing …
阐明绘制树状图时如何计算颜色会很棒(我使用gvisTreeMapRgoogleVis库中的函数)。
minColorValue到的比例重新计算颜色值”是什么意思maxColorValue?通常我使用树状图来显示销售额(大小)和销售额差异(颜色)。所以理想情况下,我想为矩形着色,以便我可以区分正增长和负增长,据我所知,目前这是不可能的。基于 googleAPI 文档:https : //developers.google.com/chart/interactive/docs/gallery/columnchart?hl= en
正如您在“标记列”部分中看到的,每列都标有一个静态值。我想知道是否可以用所有总和的特定值标记一列。
// Set chart options
var options = {
width: 400,
height: 300,
calc:????
};
Run Code Online (Sandbox Code Playgroud)
我应该使用特定功能设置这个“calc”字段吗?
我不知道如何使用每个堆叠列的总和值自定义标签。
使用Google Charts,可以进行文本注释.但是我需要显示图像.
这是一个JS小提琴(改编自其他人的代码),显示了我正在尝试做的事情.http://jsfiddle.net/Lgn4T/
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('number', 'Value');
data.addColumn({type: 'string', role: 'annotation'});
data.addColumn({type: 'string', role: 'annotationText'});
data.addRows([
['Foo', 53, '<img src="bar.png"> Foo text', 'Foo description'],
['Bar', 71, 'Bar text', 'Bar description'],
['Baz', 36, 'Baz text', 'Baz description'],
['Cad', 42, 'Cad text', 'Cad description'],
['Qud', 87, 'Qud text', 'Qud description'],
['Pif', 64, 'Pif text', 'Pif description']
]);
Run Code Online (Sandbox Code Playgroud)
这是通过注释还是通过其他方式实现的?我需要使用折线图,因此其他方法必须考虑到这一点.
免责声明:我已经有了答案,现在在这里发布以分享我学到的知识。
GAS功能非常强大,您可以使用Google表格作为数据库后端来编写完整的网络应用。有很多理由不这样做,但我认为在某些情况下还可以。
我认为最大的问题将是基于具有很多行的工作表中的某些条件查找行时的性能问题。我知道有很多方法可以“查询”工作表,但是我找不到可靠的信息,这是最快的。
复杂性之一是许多人可以编辑工作表,这意味着您需要考虑多种情况。为了简单起见,我想假设工作表:
=row())最基本的查询是找到一行,其中特定列等于某个值。
哪种方法最快?
performance google-visualization google-sheets google-apps-script google-query-language
javascript ×3
asp.net ×1
c# ×1
charts ×1
django ×1
googlevis ×1
graph ×1
json ×1
performance ×1
r ×1