我正在尝试执行一个相当基本的程序。我有一个很长的数据表,其中有很大的单元格大小,可以与Google Visualization一起使用。在创建页面之前,我想用代码和缩写替换大的单元格,以减少文件大小和加载时间。我能搞定。然而,当单元格或列值/名称/标签显示在可视化本身中时,我希望看到该值的长格式版本(例如原始数据集中的“male”-Google可视化数据表中的“m”->category filter下拉列表、工具提示中的“male”,等等),而这出乎意料地出现了问题。
我试图在下面修改的Google Playground示例中复制这个问题(以及我试图修复它的失败尝试)。在本例中,我将初始数据集更改为在Gender列中有“m”和“f”,我仍然希望可视化在下拉列表和显示的表中显示“male”和“fomen”,就像它在原始可视化中所做的那样。
我的修正尝试被标记为修正性别的尝试;基本上,我试图创建原始表的DataView,并用一个计算列替换Gender列,将'm和'f转换为'male's和'fale's...但我不确定这是否是一个明智的方法,即使我能使它工作(但我做不到)。这样做的目的是避免用一个长值替换原始表中的每一个短值;我只想替换在可视化中显示的表值。但我在这里或其他地方都找不到其他的方法,而且我对这个东西有点陌生,所以我不认为我能在没有一些指导的情况下想出一个方法。至少,如果过去几个小时的故障是任何迹象的话。
如有任何意见或建议,将不胜感激。这里是原始代码示例。
function drawVisualization() {
// Prepare the data
var data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('string', 'Gender');
data.addColumn('number', 'Age');
data.addColumn('number', 'Donuts Eaten');
data.addRows([
['Michael' , 'M', 12, 5],
['Elisa', 'F', 20, 7],
['Robert', 'M', 7, 3],
['John', 'M', 54, 2],
['Jessica', 'F', 22, 6],
['Aaron', 'M', 3, 1],
['Margareth', 'F', 42, 8],
['Miranda', 'F', 33, 6]
]);
*******//ATTEMPT TO FIX GENDER
/*var sexfix = function (data, row) {
var val = data.getValue(row, 1);
switch (val) {
case 'M':
val = 'Male';
break;
case 'F':
val = 'Female';
break;
default:
alert('error');
return 'Error!';
}
}
var dview = new google.visualization.DataView(data);
dview.setColumns([0,{calc: sexfix, type:'string'}, 2, 3]);
********/
// Define a slider control for the Age column.
var slider = new google.visualization.ControlWrapper({
'controlType': 'NumberRangeFilter',
'containerId': 'control1',
'options': {
'filterColumnLabel': 'Age',
'ui': {'labelStacking': 'vertical'}
}
});
// Define a category picker control for the Gender column
var categoryPicker = new google.visualization.ControlWrapper({
'controlType': 'CategoryFilter',
'containerId': 'control2',
'options': {
'filterColumnLabel': 'Gender',
'ui': {
'labelStacking': 'vertical',
'allowTyping': false,
'allowMultiple': false
}
}
});
// Define a Pie chart
var pie = new google.visualization.ChartWrapper({
'chartType': 'PieChart',
'containerId': 'chart1',
'options': {
'width': 300,
'height': 300,
'legend': 'none',
'title': 'Donuts eaten per person',
'chartArea': {'left': 15, 'top': 15, 'right': 0, 'bottom': 0},
'pieSliceText': 'label'
},
// Instruct the piechart to use colums 0 (Name) and 3 (Donuts Eaten)
// from the 'data' DataTable.
'view': {'columns': [0, 3]}
});
// Define a table
var table = new google.visualization.ChartWrapper({
'chartType': 'Table',
'containerId': 'chart2',
'options': {
'width': '300px'
}
});
// Create a dashboard
new google.visualization.Dashboard(document.getElementById('dashboard')).
// Establish bindings, declaring the both the slider and the category
// picker will drive both charts.
bind([slider, categoryPicker], [pie, table]).
// Draw the entire dashboard.
draw(data);
}
编辑:下面的解决方案。总而言之:
1)在dview.setcolumns下,包含一个标签名称作为选项(例如:“标签:'gender'”)以便控件和图表可以按标签引用计算的列;
2)绘制视图,而不是表格(最后一行应该是:“draw(dview)”);
3)将我的sexfix代码中的变量重命名从常规格式“var='x'”更改为“return:{v:'x'f:'xxxxx'}”;以及
4)添加“AddFormattedValue:true”行,或者使用ControlWrappers和ChartWrappers中的“View:”选项来显示格式化值。
我怀疑您的代码有两个问题。第一种情况是,在将“gender”列添加到DataView时,没有使用列标签,这是必要的,因为性别筛选器设置了FilterColumnLabel
选项,而不是FilterColumnIndex
。添加要修复得标签:
{calc: sexfix, type:'string', label: 'Gender'}
第二个问题是使用DataTable而不是DataView绘制仪表板:
new google.visualization.Dashboard(document.getElementById('dashboard')).
// Establish bindings, declaring the both the slider and the category
// picker will drive both charts.
bind([slider, categoryPicker], [pie, table]).
// Draw the entire dashboard.
draw(dview);
本文向大家介绍html元素哪些标签是不可替换元素?哪些是可替换元素?相关面试题,主要包含被问及html元素哪些标签是不可替换元素?哪些是可替换元素?时的应答技巧和注意事项,需要的朋友参考一下 (replaced element)的展现效果不是由 CSS 来控制的。这些元素是一种外部对象,它们外观的渲染,是独立于 CSS 的。也就是说,css 可以影响元素但是不能影响其内容的显示。 可替换元素: …
本文向大家介绍在Perl中替换数组元素,包括了在Perl中替换数组元素的使用技巧和注意事项,需要的朋友参考一下 现在我们将引入另一个名为splice()的函数,该函数具有以下语法: 语法 此函数将删除由OFFSET和LENGTH指定的@ARRAY元素,如果指定,则将其替换为LIST。最后,它返回从数组中删除的元素。以下是示例- 示例 输出结果 这将产生以下结果- 在这里,实际替换从第6个数字开始,
本文向大家介绍可替换元素和不可替换元素有什么不同的特点?相关面试题,主要包含被问及可替换元素和不可替换元素有什么不同的特点?时的应答技巧和注意事项,需要的朋友参考一下 可替换元素的内容由元素的某些属性的值决定 不可替换元素的内容由子节点的内容决定
问题内容: 我必须搜索一个列表,然后用一个元素替换所有出现的元素。到目前为止,我在代码方面的尝试使我无处可寻,做到这一点的最佳方法是什么? 例如,假设我的列表具有以下整数 我需要将所有出现的数字1替换为值10,所以我需要的输出是 因此,我的目标是将数字1的所有实例替换为数字10。 问题答案:
我正在浏览使用替换的Jaxb继承的Blaise's Bloghttp://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-substitution.html。 我想实现相同的功能,但不想实现根元素。我将这种类型的XML视为输出。 以下是配置。Java语言 Customer.java 住址Java语言 电话号码。Java语言 Demo.jav
我有一份价值观清单。如何替换Dataframe列中不在给定值列表中的所有值? 例如 我想用“无”替换数据框S列中不在允许值列表中的所有值。我该怎么做?