Java 使用google Visualization仪表板和控件实现折线图滑块
我在使用google Visualization Controls实现滑块控件时遇到了一个问题。我已经实现了NumberArrangeFilter作为控件包装器。我有如下列的数据表Java 使用google Visualization仪表板和控件实现折线图滑块,java,javascript,jquery,google-api,google-visualization,Java,Javascript,Jquery,Google Api,Google Visualization,我在使用google Visualization Controls实现滑块控件时遇到了一个问题。我已经实现了NumberArrangeFilter作为控件包装器。我有如下列的数据表 var dataTable = google.visualization.arrayToDataTable([ ['Year', 'Australia', 'china'], [2004, 1000, 400], [2005, 1170, 460],
var dataTable = google.visualization.arrayToDataTable([
['Year', 'Australia', 'china'],
[2004, 1000, 400],
[2005, 1170, 460],
[2006, 660, 1120],
[2007, 1030, 540]
[2008, 1030, 540]
]);
所有列都是数字类型。在绘制此图时,我得到了以数字格式显示的x轴数据,从中获得了参考并更正了此项
这是我的代码:
var dashboard = new google.visualization.Dashboard( document.getElementById('dashboard_div'));
var yearRangeSlider = new google.visualization.ControlWrapper({
'controlType': 'NumberRangeFilter',
'containerId': 'filter_div',
'options': {
'filterColumnIndex': 1,
'width': '100%',
'ui': { 'labelStacking': 'horizontal', 'format': { 'pattern':'####','fractionDigits':'0','groupingSymbol':'','showRangeValues':true }}
},
});
// Create a Line chart, passing some options
var LineChart = new google.visualization.ChartWrapper({
'chartType': 'LineChart',
'containerId': 'chart_div',
'options': {
'width': 900,
'height': 500,
'fontSize':11,
'hAxis':{'slantedText':'true','direction':'1','format': { 'pattern':'0' }},
'hAxis.gridlines.color':'#ccc',
'hAxis': {
gridlines: {
color: 'transparent'
}
}
}
});
dashboard.bind(yearRangeSlider, LineChart);
var dataViewNew = new google.visualization.DataView(dataTable);
dataViewNew.setColumns([{calc: function(data, row) {
return data.getFormattedValue(row, 0); }, type:'string'}, 0,1]);
dashboard.draw(dataViewNew);
在这段代码中,我在datatable中添加了新列,它的类型为string
var dataViewNew = new google.visualization.DataView(dataTable);
dataViewNew.setColumns([{calc: function(data, row) {
return data.getFormattedValue(row, 0); }, type:'string'}, 0,1]);
现在数据表是这样的
['Year' 'Year', 'Australia', 'china'],
['2004',2004, 1000, 400],
['2005',2005, 1170, 460],
['2006',2006, 660, 1120],
['2007',2007, 1030, 540]
['2008',2008, 1030, 540]
在此,绘制图表后,x轴以字符串格式出现,但图例中添加了一个新列。请建议如何从图例中删除新列
将
,0,1]
更改为,1,2]
如果我更改为此,则过滤器将无法工作。我需要一个格式良好的过滤器,如图所示。你能用这个例子做一个JSFIDLE吗?