在我使用Vega Lite制作的图形中,即使数据仅包含整数值,我也看到刻度线为0.5步。有没有一种方法可以在Vega Lite中进行设置?我尝试查找“最小刻度步长”之类的内容或文档中类似的内容,但找不到类似的内容。
答案 0 :(得分:1)
有两种方法可以执行此操作,具体取决于您的情况。例如,考虑以下图表:
{
"data": {
"values": [
{"x": 1, "y": 1},
{"x": 2, "y": 3},
{"x": 3, "y": 4},
{"x": 4, "y": 2}
]
},
"mark": "point",
"encoding": {
"x": {"type": "quantitative", "field": "x"},
"y": {"type": "quantitative", "field": "y"}
},
"width": 400
}
如果您所有的值都是整数,而您只关心整数,则可能是您的数据可以更好地用序数表示(即有序分类数据)。如果是这样,您可以通过指定序号类型来删除刻度线:
{
"data": {
"values": [
{"x": 1, "y": 1},
{"x": 2, "y": 3},
{"x": 3, "y": 4},
{"x": 4, "y": 2}
]
},
"mark": "point",
"encoding": {
"x": {"type": "ordinal", "field": "x"},
"y": {"type": "quantitative", "field": "y"}
},
"width": 400
}
如果希望将数据表示为定量数据,而只想调整刻度线间距,则可以使用axis.tickMinStep
属性:
{
"data": {
"values": [
{"x": 1, "y": 1},
{"x": 2, "y": 3},
{"x": 3, "y": 4},
{"x": 4, "y": 2}
]
},
"mark": "point",
"encoding": {
"x": {"type": "quantitative", "field": "x", "axis": {"tickMinStep": 1}},
"y": {"type": "quantitative", "field": "y"}
},
"width": 400
}