Как я могу получить метки за пределами фактического узла, используя JSNetworkX? - PullRequest
0 голосов
/ 01 января 2019

Я только что перешел от визуализации графиков Force Feedback в чистом D3.js к удивительной библиотеке анализа графиков JSNetworkX (порт JavaScript для NetworkX).Теперь я знаю, что JSNetworkX использует D3.js в фоновом режиме для визуализации, но я не могу понять, как получить метки за пределами фактического узла для отображения.Я имею в виду, конечно, я могу получить лейблы Edge, но это совсем другое.В D3.js вы должны использовать фактический текстовый элемент SVG, но все это кажется абстрагированным.

http://jsnetworkx.org/

Я пробовал использовать все различные атрибуты метки, но я просто заканчиваю слибо нет метки, либо метка, которая чмокает в середине узла.

Я нашел поток, который, кажется, ссылается на старую версию, но даже изменяя синтаксис, он не работает.

https://github.com/fkling/JSNetworkX/issues/16

Я бы очень хотел бытьвозможность визуализировать метки вне узлов, потому что внутри узла это выглядит как беспорядок.

Пожалуйста, помогите!Да, и, пожалуйста, обратитесь к последней версии (0.34), так как предыдущие ответы относятся к старым устаревшим версиям.

1 Ответ

0 голосов
/ 09 января 2019

ОК, так что, чтобы ответить на мой собственный вопрос ...

В основном кажется, что есть только две метки: метка узла;и метка края.Метка ребра, по-видимому, отображается вдоль ссылок и вполне настраиваема,

Существует только одна метка узла, и, хотя это отдельный текстовый элемент SVG, вы, похоже, не имеете достаточного контроля над ним.Используя стиль метки, я мог бы лучше всего использовать свойства выравнивания текста CSS ('text-anchor': 'middle', 'dominant-baseline': 'text-after-edge'), чтобы разместить его в верхней части узла.и затем уменьшить радиус узла до 5. Это в основном настолько близко, насколько я могу добраться до традиционного графика D3, где у вас есть полный позиционный контроль над меткой.

Все еще интересует, есть ли лучшие способы, но надеюсьэто помогает людям.

...