以编程方式突出显示DyGraph时间序列

时间:2015-06-03 17:45:13

标签: javascript dygraphs

我正在整理一个网络应用程序,它将当前年份和过去10年的时间序列天气数据绘制在一个目标上。我希望当前年份(2015年此时)的时间序列相对于过去几年突出显示,所以我试图将当前年份的笔画宽度从默认值2增加到5.我的问题是我无法以编程方式开始工作。每年的每日数据采用原生数组格式,因此时间序列由数组的内容标识为Yr0Labels:

[" Date"," 2005"," 2006"," 2007"," 2008",& #34; 2009"," 2010"," 2011"," 2012"," 2013"," 2014&# 34;," 2015"]

明年1月1日,Yr0Labels将以编程方式更改为:

[" Date"," 2006"," 2007"," 2008"," 2009",& #34; 2010"," 2011"," 2012"," 2013"," 2014"," 2015&# 34;” 2016” ]

在dygraph选项参数中,我将默认的strokeWidth设置为2,将2015的strokeWidth设置为5.因为我希望在1月1日之后正确突出显示当前日历年数据,所以我尝试识别要突出显示的系列yr0Labels [11]的内容,

    {
     ……
     strokeWidth: 2,
     labels: yr0Labels,
     series: {  yr0Labels[11] : { strokeWidth: 5} }, 
     ……..
   }

这产生了语法错误 - SyntaxError:missing:属性id

之后

怀疑dygraph不想在系列标识符中看到数组语法,我试图通过字符串变量“cyear”识别系列,

cyear = yr0Labels [11];

    {…strokeWidth: 2, 
         labels: yr0Labels,
         series: {  cyear : { strokeWidth: 5} },
     …….}

这并没有产生错误,但也没有突出系列。

我能够做到这一点的唯一方法是直接输入当前年份值作为系列标识符,

    {…strokeWidth: 2, 
         labels: yr0Labels,
         series : {  ‘2015’ : { strokeWidth: 5} },
     …….}

这很有效,但是我必须每年1月1日编辑dygraph选项参数,以便正确地为当前日历年绘制数据。

如何以编程方式突出显示这项工作?

1 个答案:

答案 0 :(得分:0)

问题在于如何在JavaScript对象文字中使用键。

此:

<div class="fb-page" data-hide-cover="true" data-href="https://www.facebook.com/bikefinders" data-show-facepile="false" data-show-posts="true" data-width="280" style="float: left; margin: 10px;">

与:

相同
{ foo: 'bar' }

即使在范围内有一个名为{ 'foo': 'bar' } 的变量。要获得所需的结果,您需要使用以下内容填写对象:

foo