Дерева та прості графіки

ручки дочірнього синтаксису та інтервалів.

Дерева та прості графіки

Ієрархії виникають постійно: дерева розбору, дерева рішень, макети файлів, таксономії. Малювати одну коробку за раз за допомогою «розташування» працює, але тримати рівномірно розподілені брати й сестри вручну та рівні рівні відстані втомливо. Бібліотека TikZ trees дозволяє замість цього описати саму ієрархію, використовуючи вкладені дочірні операції, і обчислює макет для вас:

\usetikzlibrary{trees}
\begin{tikzpicture}[
every node/.style={draw, circle, minimum size=7mm},
level distance=12mm,
sibling distance=18mm
]
\node{A}
child{node{B}}
child{node{C}
child{node{D}}
child{node{E}}};
\end{tikzpicture}

Читання дочірнього синтаксису

Малюнок містить одне твердження. Він починається з кореня, \node{A}, і кожен child{...}, приєднаний до нього, оголошує одне піддерево. Дочірній елемент зазвичай містить вузол{...} для власної мітки та може містити подальші дочірні операції, саме так C отримує дочірні D і E. Вкладеність дужок відображає вкладеність дерева, тому ви можете прочитати структуру безпосередньо з відступу. TikZ розміщує кожен рівень під попереднім і автоматично малює сполучні краї. Оператор one закінчується крапкою з комою після останньої фігурної дужки. Відсутня або зайва крапка з комою всередині структури є звичайною причиною помилок.

Три ручки компонування

Параметри вгорі керують виглядом і інтервалом. every node/.style={draw, circle, minimum size=7mm} застосовує стиль до всіх вузлів одночасно: кожен отримує намальовану межу, круглу форму та мінімальний діаметр 7 мм, щоб окремі літери створювали однакові кола. level distance=12mm встановлює вертикальний проміжок між батьківським і його дочірніми елементами. sibling distance=18mm встановлює горизонтальний проміжок між сусідніми дочірніми елементами одного батька.

Відстань між братами та сестрами – це ручка, яку ви регулюєте найбільше. Бібліотека trees резервує однакову ширину для кожного піддерева на даному рівні, тому широкі піддерева можуть зіткнутися, якщо значення занадто мале. Стандартним засобом є розширити відстань у верхній частині, де піддерева найширші, із налаштуваннями для кожного рівня, такими як level 1/.style={sibling distance=36mm} і level 2/.style={sibling distance=18mm}. Якщо ваші мітки сильно відрізняються за шириною, переключіться з кіл на прямокутники, видаливши «коло» зі спільного стилю.

За маленькими деревами

Краї підбирають стиль через edge from parent/.style, наприклад, щоб додати наконечники стрілок або більш товсті лінії. Для дерев, що перевищують приблизно десяток вузлів, або для загальних графів із циклами, бібліотека «дерев» стає обмеженою. Пакет «ліс» обробляє великі дерева з автоматичним пакуванням. Бібліотека graphs з алгоритмами graphdrawing охоплює довільні графіки, хоча цей шлях потребує LuaLaTeX. TikZ не відображається в цих попередніх переглядах на сторінці, тому скомпілюйте приклад, щоб побачити макет. Почніть із основ у вашому першому зображенні TikZ, якщо цей синтаксис новий.

Назад до Малювати в TeX