Выравнивание текста узла в DiagrammeR

Кто-нибудь знает, поддерживает ли DiagrammeR в настоящее время выравнивание меток узлов по левому и правому краю при использовании GraphViz?

Вот быстрый пример, где я хотел бы выровнять текст по левому краю в обоих узлах:

library(DiagrammeR)
grViz("
  digraph test {
    graph [fontsize = 10]

    node [shape = box]
    A [label = 'Foo\nBar']
    B [label = 'Bar\nFoo']

    A -> B
  }
")

Мне удалось найти один ресурс здесь для собственного GraphViz, который использует /l для выравнивания по левому краю. , но когда я пытаюсь это сделать в функции grViz, я получаю сообщение об ошибке. Например:

library(DiagrammeR)
grViz("
digraph test {
  graph [fontsize = 10]

  node [shape = box]
    A [label = 'Foo\lBar']
    B [label = 'Bar\lFoo']

  A -> B
}
")

Я ценю любую помощь заранее!


person Derek Damron    schedule 30.12.2015    source источник


Ответы (1)


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

grViz("
  digraph test {
    graph [fontsize = 10]

    node [shape = box]
    A [label = 'Foo\\lBar\\l']
    B [label = 'Bar\\rFoo\\r']

    A -> B
  }
")
person eipi10    schedule 30.12.2015
comment
Фантастика, спасибо @eipi10! Я подумал, что это какая-то глупость, которую я упускаю из виду. - person Derek Damron; 30.12.2015