
Ich versuche, mit Tikz Mindmap eine funktionale Verhaltensanalyse durchzuführen, wobei ich die folgenden Einheiten und Verbindungen benötige.
- Rautensymbol - ausschließlich ganz links
- Kreissymbol - Lazy Positionierung
- Verbindungen - Einzelpfeile und Doppelpfeile zwischen Raute und Kreisen
- Die Positionierung der Verbindungen erfolgt streng zwischen Kreisen und Rauten
Bedingungen
lazy
- Positionieren Sie das Ergebnis an beliebiger Stellegreedy
- Position an einer bestimmten Stelle, hier ganz links (=ganz links)left-most
- ganz links
Sie können bei der Festlegung der Positionen der Kreise nachlässig sein, aber die Rauten sollten ganz links gierig sein. Ich denke, der Ansatz ist im Thread zu gierigPositionierung von Knoten in Tikz unten linksmit expliziter Positionierung aller Dinge.
Das 12-Knoten-Codebeispiel des ThreadsTikz Mindmap - wie man mehr Knoten bekommtwo nur Kreise sind, ist ein guter Ausgangspunkt, um nach und nach Kreise anzuordnen.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\begin{document}
\begin{tikzpicture}
%% TODO
% 1. Put a diamond at left most
% 2. Make 12 circles lazily
%https://tex.stackexchange.com/a/7520/13173
\path[mindmap,concept color=blue,text=white,
level 1 concept/.append style=
{every child/.style={concept color=blue!70},sibling angle=-30}]
node[concept] {\Huge\bfseries TikZ}[clockwise from=0]
child foreach \i in {1,...,12} {node[concept]{\LARGE\bfseries\i}};
% 3. Create connections between diamond and circles
\end{tikzpicture}
\end{document}
Betriebssystem: Debian 8.7
Antwort1
Ich habe keine Ahnung, was hier mit lazy
oder gemeint ist greedy
.
Die einfachste Möglichkeit, den Diamanten zu platzieren, besteht darin, ihn nach der Mindmap zu zeichnen.
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{mindmap,shapes.geometric,arrows.meta,positioning}
\begin{document}
% cwestiwn éo Léopold Hertz 준영: http://tex.stackexchange.com/questions/364288/how-to-do-lazy-and-strict-positioning-of-circles-diamonds-arrows-in-tikz-mindmap
\begin{tikzpicture}
%http://tex.stackexchange.com/a/7520/13173
\path
[mindmap,
concept color=blue,
text=white,
level 1 concept/.append style={every child/.style={concept color=blue!70}, sibling angle=-30}
]
node [concept, font=\Huge\bfseries] {Ti\emph{k}Z}
[clockwise from=0]
child foreach \i in {1,...,12} {node (c\i) [concept, font=\LARGE\bfseries]{\i}};
\node (d) [left=of c7, text width=50mm, fill, diamond, draw, magenta] {};
\foreach \i [evaluate=\i as \j using {\i>6 ? -45-(12-\i)*15 : 55+\i*15}, evaluate=\i as \k using { \i>6 ? -90+(12-\i)*5 : 90-((\i-1)*5)} ] in {1,...,12} \draw [gray, ultra thick, -Latex] (d) [out=\k, in=\j] to (c\i);
\end{tikzpicture}
\end{document}