2013-11-21 38 views
0

我有一个谷歌图表,一直说无法读取属性'x'为null当我将鼠标放在图例标签上,我不知道为什么。获取无法读取与谷歌图表null的属性'x'LineChart

所有的数据都是从ajax获得的json格式,并且是有效的json,其中没有空值。

的代码是这样的:

var dt = new google.visualization.DataTable(data[4]); 

var options = { 
    vAxes: { 0: { logScale: false, title: 'Cash' } }, 
    xAxes: { 0: { logScale: false, title: 'Months' } } 
}; 

var chart = new google.visualization.LineChart(document.getElementById("chart_fullsite_cash"));      chart.draw(dt, options); 

和数据的JSON [4]是这样的:

{ 
    "cols":[ 
     { 
     "type":"date", 
     "id":"Month", 
     "label":"Month" 
     }, 
     { 
     "type":"number", 
     "id":"1", 
     "label":"label1" 
     }, 
     { 
     "type":"number", 
     "id":"2", 
     "label":"label2" 
     }, 
     { 
     "type":"number", 
     "id":"3", 
     "label":"label3" 
     }, 
     { 
     "type":"number", 
     "id":"4", 
     "label":"label4" 
     }, 
     { 
     "type":"number", 
     "id":"5", 
     "label":"label5" 
     }, 
     { 
     "type":"number", 
     "id":"6", 
     "label":"label6" 
     } 
    ], 
    "rows":[ 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 7, 31)", 
       "f":"Aug 2012" 
      }, 
      { 
       "v":3937.78, 
       "f":"$3,937.78" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 7, 31)", 
       "f":"Aug 2012" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":348800, 
       "f":"$348,800.00" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 7, 31)", 
       "f":"Aug 2012" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":4085.71, 
       "f":"$4,085.71" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 7, 31)", 
       "f":"Aug 2012" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":2332.41, 
       "f":"$2,332.41" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 8, 30)", 
       "f":"Sep 2012" 
      }, 
      { 
       "v":32796.06, 
       "f":"$32,796.06" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 8, 30)", 
       "f":"Sep 2012" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":1432204.38, 
       "f":"$1,432,204.38" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 8, 30)", 
       "f":"Sep 2012" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":30211.84, 
       "f":"$30,211.84" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 8, 30)", 
       "f":"Sep 2012" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":26478.86, 
       "f":"$26,478.86" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 9, 31)", 
       "f":"Oct 2012" 
      }, 
      { 
       "v":34074.92, 
       "f":"$34,074.92" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 9, 31)", 
       "f":"Oct 2012" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":1589939.79, 
       "f":"$1,589,939.79" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 9, 31)", 
       "f":"Oct 2012" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":52323.63, 
       "f":"$52,323.63" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 9, 31)", 
       "f":"Oct 2012" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":33100.46, 
       "f":"$33,100.46" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 10, 30)", 
       "f":"Nov 2012" 
      }, 
      { 
       "v":13243.12, 
       "f":"$13,243.12" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 10, 30)", 
       "f":"Nov 2012" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":451904.1, 
       "f":"$451,904.10" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 10, 30)", 
       "f":"Nov 2012" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":7315, 
       "f":"$7,315.00" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 10, 30)", 
       "f":"Nov 2012" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":11641.52, 
       "f":"$11,641.52" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2012, 10, 30)", 
       "f":"Nov 2012" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0, 
       "f":"$0.00" 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2013, 2, 31)", 
       "f":"Mar 2013" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":236, 
       "f":"$236.00" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2013, 9, 31)", 
       "f":"Oct 2013" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":1010, 
       "f":"$1,010.00" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      } 
     ] 
     }, 
     { 
     "c":[ 
      { 
       "v":"Date(2013, 10, 30)", 
       "f":"Nov 2013" 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":0 
      }, 
      { 
       "v":21216.01, 
       "f":"$21,216.01" 
      } 
     ] 
     } 
    ] 
} 

我不能告诉是怎么回事..如果我改变Date columnt键入String然后它工作正常,但图形从根本上改变了它的形状。

+1

那么,你发现了一个错误(我已经提交)。我们认为这是由您的数据中重复的日期条目引起的。你能告诉我更多关于你的数据吗?也许我们可以按摩一些数据,所以这不是问题。 –

+0

更多含义是什么?...图形必须显示在水平斧头的日期和现金的垂直轴上。每列一行(日期列之后)。我认为这是因为重复的日期,确实是一个错误。 –

回答

0

我不知道到底是怎么回事,但我看到你的数据,你有相同的日期多行,例如:

{"c":[{"v":"Date(2012, 7, 31)","f":"Aug 2012"},{"v":3937.78,"f":"$3,937.78"},{"v":0},{"v":0},{"v":0},{"v":0},{"v":0}]}, 
{"c":[{"v":"Date(2012, 7, 31)","f":"Aug 2012"},{"v":0},{"v":348800,"f":"$348,800.00"},{"v":0},{"v":0},{"v":0},{"v":0}]}, 
{"c":[{"v":"Date(2012, 7, 31)","f":"Aug 2012"},{"v":0},{"v":0},{"v":4085.71,"f":"$4,085.71"},{"v":0},{"v":0},{"v":0}]}, 
{"c":[{"v":"Date(2012, 7, 31)","f":"Aug 2012"},{"v":0},{"v":0},{"v":0},{"v":2332.41,"f":"$2,332.41"},{"v":0},{"v":0}]}, 

当我在每个日期删除其他行,则问题消失。你使用这种结构的目标是什么?它看起来像你试图在你的图表中创建列,你可以通过使用ColumnChart(或ComboChart,如果你想要列和行)。

+0

就像我对Jeremy Faller说的那样,我认为这是谷歌图表中的一个错误。希望为此找到解决方案。 –

+2

这可能是一个错误,但我仍然认为可能有更好的方法来组织数据以获得所需的效果(并且作为额外的奖励,您必须等待错误得到修复)。具有相同轴值的多行在这里有什么用途? – asgallant

+0

正如我所说的,Phoenix_uy,你说得对,它是一个错误,我已经提交了它,我们将优先考虑它。 :) ASGallant更准确地描述了我所得到的。你的数据结构有点奇怪。如果您可以告诉我们更多关于重复的原因,我们可以深入到底,并帮助您。 –