TreeForm без перекрытия

Я иногда сталкиваюсь с проблемой того, что ярлыки в TreeForm не читается из-за перекрытия. Пример ниже, может ли кто-нибудь увидеть способ избавиться от перекрытия?

{{4, 5, 6}, {{{2, 4, 5, 6}, {{{1, 2, 4}, {}}, {{2, 3, 6}, {}}}}, {{4, 
     5, 6, 8}, {{{4, 7, 8}, {}}, {{6, 8, 9}, {}}}}}} // TreeForm


(источник: yaroslavvb.com )

Решение Велисария помогает с перекрытием, но теряет всплывающие подсказки, то есть сравнивать с

TreeForm[Hold[
  GraphPlotHighlight[edges : {((_ -> _) | {_ -> _, _}) ...}, 
    hl : {___} : {}, opts : OptionsPattern[]] := 
   Module[{verts, coords, g, sub}, 5]]]


(источник: yaroslavvb.com )

Ответ на обновление 11/12 {{{1, 2, 4}, {} ...

Иногда я сталкиваюсь с проблемой, когда ярлыки в TreeForm не читаются из-за перекрытия. Пример ниже, может ли кто-нибудь увидеть способ избавиться от перекрытия?

{{4, 5, 6}, {{{2, 4, 5, 6}, {{{1, 2, 4}, {}}, {{2, 3, 6}, {}}}}, {{4, 
     5, 6, 8}, {{{4, 7, 8}, {}}, {{6, 8, 9}, {}}}}}} // TreeForm


(источник: yaroslavvb.com )

Решение Велисария помогает с перекрытием, но теряет всплывающие подсказки, то есть сравнивать с

TreeForm[Hold[
  GraphPlotHighlight[edges : {((_ -> _) | {_ -> _, _}) ...}, 
    hl : {___} : {}, opts : OptionsPattern[]] := 
   Module[{verts, coords, g, sub}, 5]]]


(источник: yaroslavvb.com )

Ответ на обновление 11/12 {{{1, 2, 4}, {} ...

Иногда я сталкиваюсь с проблемой, когда ярлыки в TreeForm не читаются из-за перекрытия. Пример ниже, может ли кто-нибудь увидеть способ избавиться от перекрытия?

{{4, 5, 6}, {{{2, 4, 5, 6}, {{{1, 2, 4}, {}}, {{2, 3, 6}, {}}}}, {{4, 
     5, 6, 8}, {{{4, 7, 8}, {}}, {{6, 8, 9}, {}}}}}} // TreeForm


(источник: yaroslavvb.com )

Решение Велисария помогает с перекрытием, но теряет всплывающие подсказки, то есть сравнивать с

TreeForm[Hold[
  GraphPlotHighlight[edges : {((_ -> _) | {_ -> _, _}) ...}, 
    hl : {___} : {}, opts : OptionsPattern[]] := 
   Module[{verts, coords, g, sub}, 5]]]


(источник: yaroslavvb.com )

Ответ на обновление 11/12 В итоге я использовал код ниже (код Belisarius с незначительным исправлением)

myTreeForm[exp_] := 
  Module[{tooltipText, i}, 
   tooltipText = 
    Cases[Cases[MakeBoxes[TreeForm@exp, StandardForm], 
      TooltipBox[x__] -> x, 7, Heads -> True], 
     TagBox[x__, y__] -> DisplayForm[First@{x}], Heads -> True];
   i = 0;
   TreeForm[exp, 
    VertexRenderingFunction -> ({Tooltip[
         Inset[Rasterize[Text[" " <> ToString@#2 <> " "], 
           Background -> LightBlue], #1], tooltipText[[i++]]]} &)]];

7
задан Glorfindel 7 August 2019 в 13:24
поделиться