3

我正在使用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”是月份的设置吗?如何更改滑块以使用月而不是天来执行其步骤?

4

2 回答 2

3

文档说:

第二列必须包含时间值。时间可以用以下任何一种格式表示:

  • 年 - 列类型:“数字”。示例:2008 年。
  • 月、日和年 - 列类型:“日期”;值应该是 javascript Date 实例。
  • 周数- 列类型:'string';值应使用符合 ISO 8601 的模式 YYYYWww。例如:“2008W03”。
  • Quarter - 列类型:'string';这些值应具有符合 ISO 8601 的模式 YYYYQq。例如:“2008Q3”。

阅读另一个线程,看起来谷歌正在把它扔进垃圾桶,并且不会增加时间单位。

于 2013-05-07T04:04:04.543 回答
0

尝试这个。

您可以指定动态图表以特定状态开始:即一组选定的实体和视图自定义。为此,您需要首先创建并显示图表,然后进行任何您希望图表显示的状态更改(选择值、更改设置等),然后将这些设置导出为字符串,最后使用它代码中的字符串,将其分配给“状态”选项。接下来的两节描述如何导出然后使用状态代码。

  1. 打开一个工作图表并设置您要捕获的设置。您可以指定的设置包括不透明度级别、缩放以及对数与线性缩放。
  2. 单击图表右下角的扳手符号打开设置面板。
  3. 单击左下角的“高级”链接以将“高级”面板添加到集合中。
  4. 展开 Advanced 面板并将 State 文本框的内容复制到剪贴板。(注意:您可以在页面上插入一个调用 getState() 并在消息框中显示当前状态的按钮,而不是使用步骤 2-4 中描述的菜单。)
  5. 将您在上一步中复制的状态字符串分配给代码中的“状态”选项参数,如此处所示。当传入 draw() 方法时,图表将被初始化为启动时指定的状态。
于 2012-09-30T13:26:21.800 回答