Google visualization 谷歌折线图x轴的计算文本列不工作
将折线图的x轴标签从一位文本更改为另一位文本不起作用;请问我做错了什么 我有一个折线图,其离散x轴标有日期的文本表示。 (我正在使用corechart;我已经创建了一个dataTable,基于它创建了一个dataView,并将该图表创建为图表包装器) 我正在根据文本日期筛选数据视图,因此我的初始x轴域值的格式为2013-09-01。。。这就行了。但现在我需要将x轴标签更改为9/2013格式。我在这方面找到的例子似乎很清楚,但没有绘制图表,而是被一个错误所取代:“c为空”。通过谷歌搜索,问题听起来像是我的域列的数据类型错误,但我不知道这怎么可能 你能指出我的错误吗?下面是我需要显示的列列表;这将是一个类似于[0,3,5]的列表,其中0是域列。我先删除它,以便设置新的格式化列:Google visualization 谷歌折线图x轴的计算文本列不工作,google-visualization,axis-labels,Google Visualization,Axis Labels,将折线图的x轴标签从一位文本更改为另一位文本不起作用;请问我做错了什么 我有一个折线图,其离散x轴标有日期的文本表示。 (我正在使用corechart;我已经创建了一个dataTable,基于它创建了一个dataView,并将该图表创建为图表包装器) 我正在根据文本日期筛选数据视图,因此我的初始x轴域值的格式为2013-09-01。。。这就行了。但现在我需要将x轴标签更改为9/2013格式。我在这方面找到的例子似乎很清楚,但没有绘制图表,而是被一个错误所取代:“c为空”。通过谷歌搜索,问题听起来
// 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);
对其他人的注释:“我怀疑问题是由以下原因引起的:”是问题的确切解决方案;其他一切都是正确的!