gpt4 book ai didi

javascript - Vega-Lite Wilkinson 点图,按第一位数字分组

转载 作者:行者123 更新时间:2023-11-30 19:09:52 27 4
gpt4 key购买 nike

我看到了在 Vega-Lite 中创建威尔金森点图的代码:

{
"$schema": "https://vega.github.io/schema/vega-lite/v4.json",
"description": "A Wilkinson Dot Plot",
"height": 100,
"data": {
"values": [
10,11,11,11,14,15,17,
22,25,26,28,
33,33,33,34,37
]
},
"transform": [{
"window": [{"op": "rank", "as": "id"}],
"groupby": ["data"]
}],
"mark": {
"type": "circle",
"opacity": 1
},
"encoding": {
"x": {"field": "data", "type": "ordinal"},
"y": {"field": "id", "type": "ordinal", "axis": null, "sort": "descending"}
}
}

创建一个分组精确数字的图,但我希望输出是第一个数字,所以实际上 1 有 7 个垂直点,2 有 4 个垂直点,3 有 5 个垂直点。我尝试添加 calculation: "str.map(x => x.charAt(0))" 到转换数组,这样我就可以按它分组,但我的执行没有成功。任何想法表示赞赏!

最佳答案

你走在正确的轨道上,除了计算转换不能使用任意 javascript 代码,而只能使用 Vega Expressions 中可用的子集。 .因此,例如,您可以这样做 ( vega editor ):

{
"data": {
"values": [10, 11, 11, 11, 14, 15, 17, 22, 25, 26, 28, 33, 33, 33, 34, 37]
},
"transform": [
{"calculate": "floor(datum.data / 10)", "as": "data"},
{
"window": [{"op": "rank", "field": "data", "as": "id"}],
"groupby": ["data"]
}
],
"mark": {"type": "circle", "opacity": 1},
"encoding": {
"x": {"field": "data", "type": "ordinal"},
"y": {"field": "id", "type": "ordinal", "axis": null, "sort": "descending"}
}
}

enter image description here

关于javascript - Vega-Lite Wilkinson 点图,按第一位数字分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58600526/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com