我想生成一个简单的组织结构图,其中 x 和 y 方向上的距离看起来合理。如何获得节点之间的等距距离?
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
[topline/.style={rectangle,rounded corners,fill=red,xshift=3cm, yshift=2.5cm, minimum width=15mm,minimum height=10mm},
botline/.style={rectangle,rounded corners,fill=orange,xshift=3cm, yshift=2cm, minimum width=15mm,minimum height=10mm},
]
\node at (0,0) [topline] {A};
\node at (1,0) [topline] {B};
\node at (2,0) [topline] {C};
\node at (0,-1) [botline] {D};
\node at (0,-2) [botline] {E};
\end{tikzpicture}
\end{document}
答案1
您使用了不同的minimum width
和minimum height
。将它们都设置为相同的值,您就应该得到正确的距离。
如果你添加以下行
\tikzset{x=15mm,y=15mm}
在开始图片之前,你会得到更好的结果。还要确保你的xshift
和yshift
是相同的,你会得到类似
最后,由于您的很多style
内容都是重复的,因此我将重复的内容分离出来。
这是最后一张图片的代码
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}
[
x=15mm,y=15mm,
mybox/.style={rectangle,rounded corners,xshift=1cm,yshift=1cm,minimum width=15mm, minimum height=15mm},
topline/.style={mybox,fill=red},
botline/.style={mybox,fill=orange},
]
\node at (0,0) [topline] {A};
\node at (1,0) [topline] {B};
\node at (2,0) [topline] {C};
\node at (0,-1) [botline] {D};
\node at (0,-2) [botline] {E};
\end{tikzpicture}
\end{document}