我正在使用 Google动态排行榜,底部有一个播放按钮和滑块,可以为图表添加动画效果。我想设置滑块使用的时间单位/步数。默认似乎是一天(“D”)。
我的drawChart方法设置初始状态,我尝试将timeUnit设置为“M” - “duration”:{“multiplier”:1,“timeUnit”:“M”} - 月份但这并没有改变任何事情。我找不到有关初始状态变量的可能设置的任何文档。
以下是设置状态的方法:
function drawChart(data) {
var evalObj = eval("(" + data + ")");
var dataTbl = new google.visualization.DataTable(evalObj);
var motionchart = new google.visualization.MotionChart(document.getElementById('chart'));
var options = {};
options['state'] =
'{"iconKeySettings":[],"stateVersion":3,"time":"notime","xAxisOption":"_NOTHING","playDuration":15,
"iconType":"BUBBLE","sizeOption":"_UNISIZE","xZoomedDataMin":null,
"xZoomedIn":false, "duration":{"multiplier":1,"timeUnit":"M"},"yZoomedDataMin":null,"xLambda":1,"colorOption":"_UNIQUE_COLOR",
"nonSelectedAlpha":0.4,"dimensions":{"iconDimensions": []},"yZoomedIn":false,"yAxisOption":"_NOTHING","yLambda":1,"yZoomedDataMax":null,
"showTrails":false,"xZoomedDataMax":null};';
options['width'] = 800;
options['height'] = 400;
motionchart.draw(dataTbl, options);
}
“M”是月份的设定吗?如何更改滑块以使用几个月而不是几天来完成其步骤?
答案 0 :(得分:3)
第二列必须包含时间值。时间可以用以下任何格式表示:
- 年份 - 列类型:'数字'。示例:2008。
- 月,日和年 - 列类型:'日期';值应该是javascript日期实例。
- 周数 - 列类型:'string';值应使用符合ISO 8601的模式YYYYWww。示例:'2008W03'。
- Quarter - 列类型:'string';值应具有符合ISO 8601的模式YYYYQq。示例:'2008Q3'。
正在阅读另一个thread,看起来谷歌正在把它扔进垃圾桶,并不会增加时间单位。
答案 1 :(得分:0)
试试这个。
您可以指定动态图表以特定状态开头:即一组选定的实体和视图自定义。为此,您需要首先创建并显示图表,然后进行您希望图表显示的任何状态更改(选择值,更改设置等),然后导出这些设置作为字符串,最后在代码中使用此字符串,将其分配给“state”选项。接下来的两节将介绍如何导出然后使用状态代码。