谷歌动态图表初始状态 - 设置滑块的时间单位

时间:2012-07-30 09:51:01

标签: google-visualization

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

2 个答案:

答案 0 :(得分:3)

documentation说:

  

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

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

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

答案 1 :(得分:0)

试试这个。

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

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