Google visualization 谷歌折线图x轴的计算文本列不工作

Google visualization 谷歌折线图x轴的计算文本列不工作,google-visualization,axis-labels,Google Visualization,Axis Labels,将折线图的x轴标签从一位文本更改为另一位文本不起作用;请问我做错了什么 我有一个折线图,其离散x轴标有日期的文本表示。 (我正在使用corechart;我已经创建了一个dataTable,基于它创建了一个dataView,并将该图表创建为图表包装器) 我正在根据文本日期筛选数据视图,因此我的初始x轴域值的格式为2013-09-01。。。这就行了。但现在我需要将x轴标签更改为9/2013格式。我在这方面找到的例子似乎很清楚,但没有绘制图表,而是被一个错误所取代:“c为空”。通过谷歌搜索,问题听起来

将折线图的x轴标签从一位文本更改为另一位文本不起作用;请问我做错了什么

我有一个折线图,其离散x轴标有日期的文本表示。 (我正在使用corechart;我已经创建了一个dataTable,基于它创建了一个dataView,并将该图表创建为图表包装器)

我正在根据文本日期筛选数据视图,因此我的初始x轴域值的格式为2013-09-01。。。这就行了。但现在我需要将x轴标签更改为9/2013格式。我在这方面找到的例子似乎很清楚,但没有绘制图表,而是被一个错误所取代:“c为空”。通过谷歌搜索,问题听起来像是我的域列的数据类型错误,但我不知道这怎么可能

你能指出我的错误吗?下面是我需要显示的列列表;这将是一个类似于[0,3,5]的列表,其中0是域列。我先删除它,以便设置新的格式化列:

// Format the x-axis as n/Y
// remove unformatted column 0;
view_col_list.splice(0, 1);
data_displayed.setColumns([
  {
    role: 'domain',
    calc: function(dataTable, row) {
      var my_date = new Date(dataTable.getValue(row, 0));
      console.info('the date I want to format: %o',my_date);
      // this does in fact produce "9/2013"
      console.info('the date I want to show' + my_date.getMonth() + '/' + my_date.getFullYear());
      return my_date.getMonth() + '/' + my_date.getFullYear();
    },
    type: 'string',
    sourceColumn: 0,
    id: 0
  },
  view_col_list
]);

我想你的日期可能不是问题所在,但有几件事我建议你改变一下:删除“sourceColumn”属性,因为它不是必需的;并更改构建新日期字符串的方式,因为将字符串转换为日期对象在不同浏览器中是不一致的。此外,#getMonth方法返回0索引月份,因此在代码中“2013-09-01”将转换为“8/2013”(假设日期字符串转换有效)。有一种更简单的方法,不需要将日期对象转换为字符串:

var dateArray = dataTable.getValue(row, 0).split('-');
return dateArray[1] + '/' + dateArray[0];
我怀疑问题是由以下原因造成的:

view_col_list.splice(0, 1);
data_displayed.setColumns([{...}, view_col_list]);
这相当于
data_displated.setColumns([{…},[…]])这肯定不行。不要拼接
视图列中的第一个元素
,而是将其替换为您的对象:

view_col_list[0] = {...};
data_displayed.setColumns(view_col_list);
对其他人的注释:“我怀疑问题是由以下原因引起的:”是问题的确切解决方案;其他一切都是正确的!