添加额外的勾号以允许数据点和边界之间有一些 space]
Add additional tick to allow some space between the data points and the borders]
见附件截图
希望在数据点和图表边框之间允许一些偏移。特别适用于用户交互,例如刷子,允许用户从右侧开始刷牙。
我认为后备计划是手动计算比例域(最小值、最大值 + 一些填充),但我试图查看是否已经有可用的预构建选项。
{
"$schema": "https://vega.github.io/schema/vega-lite/v4.json",
"description": "A scatterplot showing horsepower and miles per gallons for various cars.",
"data": {
"values": [
{"Horsepower": 10, "Miles_per_Gallon": 100},
{"Horsepower": 10, "Miles_per_Gallon": 120},
{"Horsepower": 8, "Miles_per_Gallon": 77},
{"Horsepower": 6, "Miles_per_Gallon": 80},
{"Horsepower": 4, "Miles_per_Gallon": 20},
{"Horsepower": 2, "Miles_per_Gallon": 60},
{"Horsepower": 0, "Miles_per_Gallon": 150}
]
},
"mark": "point",
"encoding": {
"x": {"field": "Horsepower", "type": "quantitative"},
"y": {"field": "Miles_per_Gallon", "type": "quantitative"}
}
}
我不知道有内置配置可以将填充添加到自动确定的比例域,但这里有一个 hack,可以让您通过在超过最大值的指定位置绘制透明点来实现此目的:
{
"data": {
"values": [
{"Horsepower": 10, "Miles_per_Gallon": 100},
{"Horsepower": 10, "Miles_per_Gallon": 120},
{"Horsepower": 8, "Miles_per_Gallon": 77},
{"Horsepower": 6, "Miles_per_Gallon": 80},
{"Horsepower": 4, "Miles_per_Gallon": 20},
{"Horsepower": 2, "Miles_per_Gallon": 60},
{"Horsepower": 0, "Miles_per_Gallon": 150}
]
},
"layer": [
{
"mark": {"type": "point", "opacity": 0},
"transform": [
{
"aggregate": [
{"field": "Horsepower", "op": "max", "as": "max_Horsepower"}
]
},
{"calculate": "datum.max_Horsepower + 2", "as": "max_Horsepower"}
],
"encoding": {"x": {"field": "max_Horsepower", "type": "quantitative"}}
},
{
"mark": "point",
"encoding": {
"x": {"field": "Horsepower", "type": "quantitative"},
"y": {"field": "Miles_per_Gallon", "type": "quantitative"}
}
}
]
}
见附件截图
希望在数据点和图表边框之间允许一些偏移。特别适用于用户交互,例如刷子,允许用户从右侧开始刷牙。
我认为后备计划是手动计算比例域(最小值、最大值 + 一些填充),但我试图查看是否已经有可用的预构建选项。
{
"$schema": "https://vega.github.io/schema/vega-lite/v4.json",
"description": "A scatterplot showing horsepower and miles per gallons for various cars.",
"data": {
"values": [
{"Horsepower": 10, "Miles_per_Gallon": 100},
{"Horsepower": 10, "Miles_per_Gallon": 120},
{"Horsepower": 8, "Miles_per_Gallon": 77},
{"Horsepower": 6, "Miles_per_Gallon": 80},
{"Horsepower": 4, "Miles_per_Gallon": 20},
{"Horsepower": 2, "Miles_per_Gallon": 60},
{"Horsepower": 0, "Miles_per_Gallon": 150}
]
},
"mark": "point",
"encoding": {
"x": {"field": "Horsepower", "type": "quantitative"},
"y": {"field": "Miles_per_Gallon", "type": "quantitative"}
}
}
我不知道有内置配置可以将填充添加到自动确定的比例域,但这里有一个 hack,可以让您通过在超过最大值的指定位置绘制透明点来实现此目的:
{
"data": {
"values": [
{"Horsepower": 10, "Miles_per_Gallon": 100},
{"Horsepower": 10, "Miles_per_Gallon": 120},
{"Horsepower": 8, "Miles_per_Gallon": 77},
{"Horsepower": 6, "Miles_per_Gallon": 80},
{"Horsepower": 4, "Miles_per_Gallon": 20},
{"Horsepower": 2, "Miles_per_Gallon": 60},
{"Horsepower": 0, "Miles_per_Gallon": 150}
]
},
"layer": [
{
"mark": {"type": "point", "opacity": 0},
"transform": [
{
"aggregate": [
{"field": "Horsepower", "op": "max", "as": "max_Horsepower"}
]
},
{"calculate": "datum.max_Horsepower + 2", "as": "max_Horsepower"}
],
"encoding": {"x": {"field": "max_Horsepower", "type": "quantitative"}}
},
{
"mark": "point",
"encoding": {
"x": {"field": "Horsepower", "type": "quantitative"},
"y": {"field": "Miles_per_Gallon", "type": "quantitative"}
}
}
]
}