Я пытаюсь добавить текстовую метку к узлам в принудительном -layout на странице github vega.
Я преобразовал метку символа в метку группы и переместил часть «кодирования» в метку дочернего «символа». В этой новой групповой метке я теперь также добавляю текстовую метку, которой я даю имя узла.
Это отметка узлов, части «вкл» и «преобразование» опущены, потому что они не изменились.
{
"name": "nodes",
"type": "group",
"zindex": 1,
"from": {
"data": "node-data"
},
"marks": [
{
"type": "symbol",
"encode": {
"enter": {
"fill": {
"scale": "color",
"field": "group"
},
"stroke": {
"value": "white"
}
},
"update": {
"size": {
"signal": "2 * nodeRadius * nodeRadius"
},
"cursor": {
"value": "pointer"
}
}
}
},
{
"type": "text",
"interactive": false,
"encode": {
"enter": {
"fill": {
"value": "black"
},
"fontSize": {
"value": 12
},
"align": {
"value": "center"
},
"text": {
"field": "name"
},
"y": {
"value": -5
}
}
}
}
],
"on": [...],
"transform": [...]
}
Ожидалось увидеть имя узла над каждым узлом, но текст И символ стали невидимыми.
Шаги по воспроизведению
- Make the type "group", add a "marks" array, add a mark object with type "symbol" to this marks array
- -> the nodes still show
- Move the encode part to the nested symbol group
- -> the nodes dissapear
- Добавление текстовой метки также ничего не дает
У меня есть подозрение, что это свойство "field", которое срабатывает, когда вы пытаетесь вложить его, сохраняя данные в родительском элементе, потому что текстовая метка отображается в группе, когда я даю ему фиксированное значение, но я не могу разобрался, как заставить его работать. (Я думал, что это так, потому что в документах говорится, что дочерняя метка автоматически получает родительские данные при пропуске поля данных)