Создание организационной структуры в R

Мне нужно нарисовать организационную схему компании в R. У меня есть пример, но я бы хотел, чтобы стрелки оставили ту же точку.

Что я ожидаю (от PowerPoint):

ожидаемый

Что я получил (в R):

фактический

Код:

grViz("
  digraph {

  graph[splines=ortho, nodesep=1]

  node[shape=box]
  President;Fun1;Fun2;Fun3;

  President->{Fun1,Fun2,Fun3}
  }
  ")

1 ответ

Вам нужно использовать пустые / пустые узлы, что-то вроде этого (если вы не хотите, чтобы стрелки добавляли [dir = none] до последних строк, например (blank_3 -> Fun1 [dir = none]):

library(DiagrammeR)

grViz("
  digraph {

  node[shape=box, width = 4, height = 1]

  blank_1 [label = '',color = white];
  President;
  blank_2 [label = '',color = white];

  blank_3[label = '', width = 0.01, height = 0.01];
  blank_4[label = '', width = 0.01, height = 0.01];
  blank_5[label = '', width = 0.01, height = 0.01];

  Fun1;
  Fun2;
  Fun3;

  {rank = same; blank_1 President blank_2}
  {rank = same; blank_3 blank_4 blank_5}
  {rank = same; Fun1 Fun2 Fun3}

  blank_1 -> President [dir = none, color = White]
  President -> blank_2 [dir = none, color = White]
  President -> blank_4 [dir = none]
  blank_1 -> blank_3 [dir = none, color = White]
  blank_2 -> blank_5 [dir = none, color = White]
  blank_3 -> blank_4 [dir = none]
  blank_4 -> blank_5 [dir = none]
  blank_3 -> Fun1
  blank_4 -> Fun2
  blank_5 -> Fun3

   }
 ")

Вот еще один способ адаптировать предложение Пита выше - упрощенный код, который использует орто-сплайны и arrowhead = none как альтернатива dir = none:

grViz("
  digraph {

splines=ortho

#President node
  node[shape=box,
  fixedsize = true,
  width = 2,
  height = 1]
'President';

#Fun nodes
node[shape=square,
        fixedsize = true,
        width = 1.0]
'Fun1'; 'Fun2'; 'Fun3'

#Blank node
  blank_1[label='', width = 0, height = 0];


#President through blank pathway
 'President' -> blank_1[arrowhead = none]
 blank_1 -> 'Fun1'[arrowhead = none]
 blank_1 -> 'Fun2'[arrowhead = none]
 blank_1 -> 'Fun3'[arrowhead = none]
     
   }
 ")

Вывод организационной диаграммы

Другие вопросы по тегам