这似乎是一件很常见的事情,但搜索“树”、“语言”、“对象”、“继承”和/或“父”这些词会返回与我无关的问题。
简而言之, 我要这个:
但是,如果我有 BV 而不是 BD 类,我宁愿不进去手动移动所有内容。目前,我正在使用节点,我的类正在飞出页面。
有没有什么方法可以解决这个问题。
梅威瑟:
\usepackage{tikz}
\usetikzlibrary{arrows,decorations.pathmorphing,backgrounds,positioning,fit,petri,calc,shadows}
\begin{document}
\begin{tikzpicture}[
neuronModel/.style={%
general shadow={%
shadow scale=1,
shadow xshift=0.75ex,
shadow yshift=0.75ex,
opacity=0.75,
fill=black!50,
every shadow
},
rounded corners,
thick,
draw=blue!90,
fill=blue!35,
thick,
inner ysep=2pt,
inner xsep=2pt
}]
% \foreach \neuronIndex/\neuronLabel in {1/Bidirectional Neuron Model , 10/Unidirectional Neuron Model}
% \node at (\neuronIndex,10)[draw=black,fill=blue]{\neuronLabel};
\node[neuronModel,align=center] (neuronModel1) {Bidirectional\\
Neuron Model};
\node[neuronModel,right=0.5cm of neuronModel1,align=center] (neuronModel2) {Unidirectional\\
Neuron Model};
\node[neuronModel,right=0.5cm of neuronModel2,align=center] (neuronModel3) {Postprocessing\\
Neuron Model};
\node[neuronModel,right=0.5cm of neuronModel3,align=center] (neuronModel4) {Preprocessing\\
Neuron Model};
\node[neuronModel,right=0.5cm of neuronModel4,align=center] (neuronModel5) {Stats\\
Neuron Model};
\node[neuronModel,right=0.5cm of neuronModel5,align=center] (neuronModel6) {Visual\\
Neuron Model};
\end{tikzpicture}
\end{document}
这是结果图。我需要再添加大约 5 个类,所以这种方法不够。
答案1
这个tikz-qtree
包可能可以满足你的要求。下面是一个粗略的例子:
\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-qtree}
\begin{document}
\begin{tikzpicture}
\tikzset{level distance=50pt}
\Tree [.\node[draw]{class A};
[.\node[draw]{class B}; ]
[.\node[draw]{class C}; ]
[.\node[draw]{class D};
\node[draw]{class E};
]
]
\end{tikzpicture}
\end{document}
正如 Alan Munn 所指出的,通过预先指定节点样式可以进一步简化代码:
\begin{tikzpicture}[every tree node/.style=draw]
\tikzset{level distance=50pt}
\Tree [.{class A}
[.{class B} ]
[.{class C} ]
[.{class D}
{class E}
]
]
\end{tikzpicture}