Vega-Lite 图表 x 轴显示不显示新年开始后的月份
Vega-Lite chart x-axis display not displaying month after the start of the new year
我有一个图表,日期格式为 yyyy-mm-dd
,类型为 'temporal'。它还使用自定义轴
chartAxis = {
const obj = {};
(obj.grid = false),
(obj.tickCount = { interval: 'month', step: 1 }),
(obj.labelAlign = 'left'),
(obj.labelExpr = 'datum.label[0]');
return obj;
}
从年初开始,开始显示年份的第一个数字,而不是月份的第一个字母。
我很茫然。有什么想法吗?
Vega-Lite 选择的默认日期显示取决于显示的日期范围和每个标签之间的 space,并且在年份转换时它通常会显示新的年份。这是一个简单的例子:
{
"data": {
"values": [
{"date": "2020-10-31T00:00:00", "value": 9},
{"date": "2020-11-30T00:00:00", "value": 10},
{"date": "2020-12-31T00:00:00", "value": 11},
{"date": "2021-01-31T00:00:00", "value": 12},
{"date": "2021-02-28T00:00:00", "value": 13}
]
},
"mark": "line",
"encoding": {
"x": {"type": "temporal", "field": "date"},
"y": {"type": "quantitative", "field": "value"}
}
}
如果您使用自定义转换来显示第一个字符,那么在年份转换时第一个字符将为 "2"
。
如果您想准确控制日期的格式,可以通过在 axis.format
:
中指定 d3-date-format 代码来实现
{
"data": {
"values": [
{"date": "2020-10-31T00:00:00", "value": 9},
{"date": "2020-11-30T00:00:00", "value": 10},
{"date": "2020-12-31T00:00:00", "value": 11},
{"date": "2021-01-31T00:00:00", "value": 12},
{"date": "2021-02-28T00:00:00", "value": 13}
]
},
"mark": "line",
"encoding": {
"x": {"type": "temporal", "field": "date", "axis": {"format": "%b"}},
"y": {"type": "quantitative", "field": "value"}
}
}
我有一个图表,日期格式为 yyyy-mm-dd
,类型为 'temporal'。它还使用自定义轴
chartAxis = {
const obj = {};
(obj.grid = false),
(obj.tickCount = { interval: 'month', step: 1 }),
(obj.labelAlign = 'left'),
(obj.labelExpr = 'datum.label[0]');
return obj;
}
从年初开始,开始显示年份的第一个数字,而不是月份的第一个字母。
我很茫然。有什么想法吗?
Vega-Lite 选择的默认日期显示取决于显示的日期范围和每个标签之间的 space,并且在年份转换时它通常会显示新的年份。这是一个简单的例子:
{
"data": {
"values": [
{"date": "2020-10-31T00:00:00", "value": 9},
{"date": "2020-11-30T00:00:00", "value": 10},
{"date": "2020-12-31T00:00:00", "value": 11},
{"date": "2021-01-31T00:00:00", "value": 12},
{"date": "2021-02-28T00:00:00", "value": 13}
]
},
"mark": "line",
"encoding": {
"x": {"type": "temporal", "field": "date"},
"y": {"type": "quantitative", "field": "value"}
}
}
如果您使用自定义转换来显示第一个字符,那么在年份转换时第一个字符将为 "2"
。
如果您想准确控制日期的格式,可以通过在 axis.format
:
{
"data": {
"values": [
{"date": "2020-10-31T00:00:00", "value": 9},
{"date": "2020-11-30T00:00:00", "value": 10},
{"date": "2020-12-31T00:00:00", "value": 11},
{"date": "2021-01-31T00:00:00", "value": 12},
{"date": "2021-02-28T00:00:00", "value": 13}
]
},
"mark": "line",
"encoding": {
"x": {"type": "temporal", "field": "date", "axis": {"format": "%b"}},
"y": {"type": "quantitative", "field": "value"}
}
}