Jef*_*ker 8 google-visualization
我有一个柱形图,其x轴值是一个日期.这个图表今天早上起作用但突然断开并显示"不支持带有值域轴的条形系列".作为错误消息.该网站尚未在几周内更新.
我的DataTable构造代码如下所示:
var data= new google.visualization.DataTable({
"cols":[{"label":"Date","type":"date"},{"label":"New Users","type":"number"}],
"rows":[{"c":[{"v":new Date(1325656800000),"f":null},{"v":1355,"f":null}]}]
});
Run Code Online (Sandbox Code Playgroud)
我可以对我的代码做些什么来解决这个问题?
Mic*_*zka 10
这不是一个错误.Google Visualization API已更改.
在http://code.google.com/apis/chart/interactive/docs/customizing_axes.html#Help上,他们发布了一些针对此问题的解决方案.使用选项:
strictFirstColumnType: false
Run Code Online (Sandbox Code Playgroud)
只能用作临时解决方案.谷歌说:
但请注意,此选项仅在有限时间内可用,并将在不久的将来删除.
建议的解决方案是将x轴上的Date字段更改为String.我在为DateTable对象添加值之前使用formatter实现了这一点.
var formatterMoney = new google.visualization.NumberFormat({suffix: ' z?', decimalSymbol: ',', groupingSymbol: ' '});
var formatterDate = new google.visualization.DateFormat({pattern: 'dd.MM.yyyy'});
var data = new google.visualization.DataTable();
data.addColumn('string', 'order date'); //used to be date field here
data.addColumn('number', 'total amount');
data.addRow([formatterDate.formatValue(new Date('2011-12-20')),971793.93]); //used to be Date object, now is Date formated as String
data.addRow([formatterDate.formatValue(new Date('2011-11-30')),1.0]);
data.addRow([formatterDate.formatValue(new Date('2011-11-17')),1.0]);
data.addRow([formatterDate.formatValue(new Date('2011-10-27')),1.72]);
data.addRow([formatterDate.formatValue(new Date('2011-10-26')),10.27]);
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
formatterMoney.format(data, 1);
chart.draw(data, {width: window.width, height: 400, hAxis: {direction: -1}});
Run Code Online (Sandbox Code Playgroud)
问题出在日期字段上。我已将日期字段转换为字符串,现在正在使用字符串。如果您使用格式化程序,您可以在将值提供给数据表之前对其进行格式化:
formatter.formatValue(date)
Run Code Online (Sandbox Code Playgroud)
我猜这是一个错误;我会尝试提交错误报告。
| 归档时间: |
|
| 查看次数: |
8894 次 |
| 最近记录: |