Platinum Member
Регистрация: 22.07.2010
Адрес: Санкт-Петербург
Сообщений: 3,296
|
Котова, у каждой темы есть цель. Цель этой темы -- дать представление об инструменте визуализации графов, а не решение задач про змей и детей. Копипастить википедию мне не интересно, Вы вот сходили по ссылке, не обломались и поняли, что это и с чем это едят.
На самом деле, очень многие вещи нарисовать таким образом гораздо проще, чем мышкой в графическом редакторе, а учитывая, что среди результирующих форматов есть SVG, то картина становится вообще радостная. Я использовал этот пакет для иллюстраций к статьям и диссертациям. Мой младенец рисовал топологию сети по курсовику. Но я сильно глубоко внутрь, как в GNU R, не залазил, поскольку задачки решал локальные. Поэтому и написал, что попробую ответить. А компетенции... Компетенции дело наживное, когда то их вообще не было и если только ими ограничиваться, то скоро кота кормить не на что будет.
Во вложении другой вариант того же графа, он сделан горизонтально и ранжирован.
Код
Код:
digraph dtree {rankdir=LR;
node [fontsize=12, shape=box];
{ /* шкала месяцев*/
node[shape=plaintext]; /* что бы не было видно рамок */
edge[color=white] /* что бы не было видно стрелок */
"змея" -> "испуг" -> "убежал" -> "дразнит"-> "дразнит"->"кусила"-> "результат";
}
{ rank = same; "змея"; "snakeNo"; "gender"; }
{ rank = same; "испуг"; "boy"; "girl"; }
{ rank = same; "убежал"; "boyRY"; "girlRY"; }
{ rank = same; "результат"; "snakeNo1"; "boyRun";"boyStripN1"; "girlRun";"girlStripN1";}
snake [label="Встретили змею?", style=filled, fillcolor=antiquewhite;shape=ellipse];
snakeNo [label="p=0,9 (Нет)\n---------\nЗмею не встретили!", shape=plaintext];
snakeNo1 [label="p=0,9\n---------\np*2000*50=90000", style=filled, fillcolor=darkolivegreen1];
gender [label="p=0,1 (Да)\n---------\nЭто была девочка?", shape=plaintext];
boy [label="p=0,4 (Мальчик)\n---------\nИспугался?", shape=plaintext];
girl [label="p=0,6 (Девочка)\n---------\nИспугалась?", shape=plaintext];
boyRY [label="p=0,1 (Испугался)\n---------\nУбежал в истерике", shape=plaintext];
boyRun[label="p=0.1*0.4*0.1=0.004\n---------\np*(-10000)*50=-2000", style=filled, fillcolor=coral];
boyRN [label="p=0,9 (Не испугался)\n---------\nСтал дразнить?", shape=plaintext];
boyStripN [label="p=0,5 (Нет)\n---------\nНе стал дразнить", shape=plaintext];
boyStripN1 [label="p=0.1*0.4*0.9*0.5=0.018\n---------\np*2000*50=1800", style=filled, fillcolor=darkolivegreen1];
boyStripY [label="p=0,5 (Да)\n---------\nЗмея кусила?", shape=plaintext];
boyBiteY [label="p=0,5 (Да)\n---------\nУкусила!", shape=plaintext];
boyBiteN [label="p=0,5 (Нет)\n---------\nПобрезговала", shape=plaintext];
boyBiteN1 [label="p=0.1*0.4*0.9*0.5*0.5=0.009\n---------\np*2000*50=900", style=filled, fillcolor=darkolivegreen1];
boyBiteY1 [label="p=0.1*0.4*0.9*0.5*0.5=0.009\n---------\np*(-100000)*50=-45000", style=filled, fillcolor=coral];
girlRY [label="p=0,9 (Испугалась)\n---------\nУбежала в истерике", shape=plaintext];
girlRun[label="p=0.1*0.6*0.9=0.054\n---------\np*(-10000)*50=-27000", style=filled, fillcolor=coral];
girlRN [label="p=0,1 (Не испугалась)\n---------\nСтала дразнить?", shape=plaintext];
girlStripN [label="p=0,5 (Нет)\n---------\nНе стала дразнить", shape=plaintext];
girlStripN1 [label="p=0.1*0.6*0.1*0.5=0.003\n---------\np*2000*50=300", style=filled, fillcolor=darkolivegreen1];
girlStripY [label="p=0,5 (Да)\n---------\nЗмея кусила?", shape=plaintext];
girlBiteY [label="p=0,5 (Да)\n---------\nУкусила!", shape=plaintext];
girlBiteN [label="p=0,5 (Нет)\n---------\nПобрезговала!", shape=plaintext];
girlBiteN1 [label="p=0.1*0.6*0.1*0.5*0.5=0.0015\n---------\np*2000*50=150", style=filled, fillcolor=darkolivegreen1];
girlBiteY1 [label="p=0.1*0.4*0.9*0.5*0.5=0.0015\n---------\np*(-100000)*50=-7500", style=filled, fillcolor=coral];
snake -> snakeNo [arrowhead=none];
snakeNo -> snakeNo1 [arrowhead=none];
snake -> gender [arrowhead=none];
gender -> boy [arrowhead=none];
gender -> girl [arrowhead=none];
boy -> boyRY [arrowhead=none];
boyRY -> boyRun [arrowhead=none];
boy -> boyRN [arrowhead=none];
boyRN -> boyStripN [arrowhead=none];
boyRN -> boyStripY [arrowhead=none];
boyStripY -> boyBiteY [arrowhead=none];
boyStripY -> boyBiteN [arrowhead=none];
boyBiteN -> boyBiteN1 [arrowhead=none];
boyStripN -> boyStripN1 [arrowhead=none];
boyBiteY -> boyBiteY1 [arrowhead=none];
girlRY -> girlRun [arrowhead=none];
girl -> girlRN [arrowhead=none];
girl -> girlRY [arrowhead=none];
girlRN -> girlStripN [arrowhead=none];
girlRN -> girlStripY [arrowhead=none];
girlStripY -> girlBiteY [arrowhead=none];
girlStripY -> girlBiteN [arrowhead=none];
girlBiteN -> girlBiteN1 [arrowhead=none];
girlStripN -> girlStripN1 [arrowhead=none];
girlBiteY -> girlBiteY1 [arrowhead=none];
}
Последний раз редактировалось Hogfather; 09.11.2013 в 00:35.
|