Vega 如何在内联数据中使用基元值?
一般来说,vega lite中的内联数据应具有如下形式:Vega 如何在内联数据中使用基元值?,vega,vega-lite,Vega,Vega Lite,一般来说,vega lite中的内联数据应具有如下形式: "data": { "values": [ {"first column": "A", "second column": 28, "third column": 32}, {"first column": "B", "second column": 55, "third column": 94}, {"first column": "C", "second column": 43, "third colum
"data": {
"values": [
{"first column": "A", "second column": 28, "third column": 32},
{"first column": "B", "second column": 55, "third column": 94},
{"first column": "C", "second column": 43, "third column": 21},
...
]
}
我试图找出是否可以通过“转置”数据来更简洁地指定内联数据。这将避免字段名称的过度重复,即:
"data": {
"values": [
{"first column": ["A", "B", "C"]},
{"second column": [28, 55, 43]},
{"third column": [32, 94, 21]},
...
]
}
对于值
字段,模糊地提到:
这可以是对象数组、基元值或字符串。基元值数组作为具有数据属性的对象摄取
因此,我所能做的就是,例如,“值”:[“A”、“B”、“C”]
如何使用这些原始的内联数据?数据只有一个字段data
,这不足以在x+y轴上绘图。是否还有一个自动生成的id
字段可用于轴编码?或者,是否可以将多个原语内联数据集组合成具有多个(命名)字段的数据集
标准织女星是否可以使用压缩数据变体?您可以使用压缩数据,但必须首先对其进行扩展。vega lite的配置信息只是javascript,因此您可以使用如下函数:
expand_data = compressed => {
const expanded = [];
const keys = compressed.map( r => Object.keys(r)[0]);
const keys_count = compressed.length;
const row_count = compressed[0][keys[0]].length;
for (let i = 0; i< row_count; i++) {
const new_row = {};
for (let j = 0; j < keys_count; j++) {
new_row[keys[j]] = compressed[j][keys[j]][i]
}
expanded.push(new_row);
}
return expanded;
}
。。。
价值:[苹果、橘子、甜瓜]
苹果、橘子和甜瓜也可以附加其他属性或功能
我已经在笔记本中添加了一个primatives图表。您可以使用压缩的数据,但必须先将其展开。vega lite的配置信息只是javascript,因此您可以使用如下函数:
expand_data = compressed => {
const expanded = [];
const keys = compressed.map( r => Object.keys(r)[0]);
const keys_count = compressed.length;
const row_count = compressed[0][keys[0]].length;
for (let i = 0; i< row_count; i++) {
const new_row = {};
for (let j = 0; j < keys_count; j++) {
new_row[keys[j]] = compressed[j][keys[j]][i]
}
expanded.push(new_row);
}
return expanded;
}
。。。
价值:[苹果、橘子、甜瓜]
苹果、橘子和甜瓜也可以附加其他属性或功能
我已经在笔记本中添加了一个primatives图表。一旦合并,您可以使用展平变换进行此操作。有关Vega等效物,请参见
输入
输出
[
{"key": "alpha", "foo": 1, "bar": "A"},
{"key": "alpha", "foo": 2, "bar": "B"},
{"key": "beta", "foo": 3, "bar": "C"},
{"key": "beta", "foo": 4, "bar": "D"},
{"key": "beta", "foo": 5, "bar": null}
]
合并后,可以使用展平变换进行此操作。有关Vega等效物,请参见
输入
输出
[
{"key": "alpha", "foo": 1, "bar": "A"},
{"key": "alpha", "foo": 2, "bar": "B"},
{"key": "beta", "foo": 3, "bar": "C"},
{"key": "beta", "foo": 4, "bar": "D"},
{"key": "beta", "foo": 5, "bar": null}
]
我不知道你所说的只有一个字段数据的原语内联数据是什么意思。我已向链接的笔记本添加了一个变量。如果您有一个[{data:12},{data:27},{data:13}]数组,这将适合您。您甚至可以使用[12,27,13]这样的数组来实现这一点,只要您首先将其映射到对象中,例如:arry.map(r=>{data:r}),我不确定您所说的只有一个字段数据的原语内联数据是什么意思。我已向链接的笔记本添加了一个变量。如果您有一个[{data:12},{data:27},{data:13}]数组,这将适合您。您甚至可以使用[12,27,13]这样的数组来实现这一点,只要您首先将它映射到对象中,例如:arry.map(r=>{data:r})