Прежде всего, сложно описать то, что я имею в виду под «табличными данными», потому что в некотором смысле все входные данные для vega - это «таблица-иш», но этот пример должен прояснить:
Большинство (если не все) из Vega-Lite примеров для многострочных диаграмм используют такие данные, как
"data": {
"values": [
{"id": 0, "symbol": "A", "value": 4},
{"id": 1, "symbol": "A", "value": 2},
{"id": 0, "symbol": "B", "value": 3},
{"id": 1, "symbol": "B", "value": 8}
]
}
, которые просто окрашивают линии A
и B
с таким кодированием,
"mark": "line",
"encoding": {
"x": {"field": "id", "type": "quantitative"},
"y": {"field": "value", "type": "quantitative"},
"color": {"field": "symbol", "type": "nominal"}
}
Но что, если я хочу получить тот же результат с табличной формой данных, подобной этой,
"data": {
"values": [
{"id": 0, "A": 4, "B": 3},
{"id": 1, "A": 2, "B": 8}
]
}
1.Как я могу кодировать данные на основе таблиц в одну цветную многострочную диаграмму?
Базовое кодирование может заключаться в создании линейных диаграмм для каждого поля и наложении их друг на друга, как this ,
"encoding": {
"x": {"field": "id", "type": "quantitative"}
},
"layer": [
{
"mark": "line",
"encoding": {
"y": {"field": "A", "type": "quantitative"}
}
},
{
"mark": "line",
"encoding": {
"y": {"field": "B", "type": "quantitative"}
}
}
]
Но при этом я не знаю, как по-разному раскрасить линии или как создать легенду.
2.Является ли этот тип входных данных идиоматичным по отношению к тому, как спроектирован vega / vega-lite?