答案1
1)如果您手动定位,则可以添加其他人。
2)例如,您可以明确连接到node.east。
这是根据手册改编的示例。
\documentclass{article}
\usepackage{tikz}
\usepackage{tikz-er2}
\usetikzlibrary{positioning}
\begin{document}
\tikzstyle{every attribute} = [fill=yellow!20]
\begin{tikzpicture}[node distance=7em]
\node[entity] (person) {Person};
\node[attribute] (pid) [left of=person] {\key{ID}} edge (person);
\node[attribute] (name) [above left of=person] {Name} edge (person);
\node[attribute] (name2) [left of=name, xshift=-5mm] {Other Name} edge (person);
\node[multi attribute] (phone) [above of=person] {Phone} edge (person);
\node[attribute] (address) [above right of=person] {Address} edge (person);
\node[attribute] (street) [above right of=address] {Street} edge (address);
\node[attribute] (city) [right of=address] {City} edge (address);
\node[derived attribute] (age) [right of=person] {Age} edge (person);
\node[attribute] (gender) [below right of=person] {Gender} edge (person.east);
\end{tikzpicture}
\end{document}
答案2
您可以使用笛卡尔坐标或极坐标将节点明确定位在特定坐标处(并连接到它们)。绘制线条时,您还可以相对于当前位置指定目标节点,方法是在笛卡尔坐标或极坐标前加上+
或++
(+
当前位置保持原位,++
当前位置移动到新坐标)。
\documentclass[border=1mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\tikzset{dot/.style={circle,fill,draw,inner sep=1pt}}
\begin{tikzpicture}[node distance=1cm]
\node[dot,label={[left]$a=(0,0)$}] (a) {};
\node[dot,label=above $a$] (b) [above=of a] {};
\node[dot,label={$(2,1)$}] (c) at (2,1) {};
\node[dot,label={[right]{$(-30^\circ:2\mathrm{cm})$}}] (d) at (-30:2) {};
\draw (a) -- (b);
\draw (a) -- (c);
\draw (a) -- (d);
\node[draw] (e) at (5,0) {e};
\foreach \angle in {0, 10, ..., 350}
\draw (e) -- +(\angle:1);
\end{tikzpicture}
\end{document}
答案3
如果节点没有固定的位置,但是它们之间存在几种关系,那么您可以使用graphdrawing
来自的库tikz
(它使用了 LuaLaTeX,所以如果这不是一个选项,请考虑这一点)。
您可以使用以下命令绘制如下关系\graph
:
\graph{A -- {B,C,D,E,F,G,H}, F--B};
这意味着从B
到 的所有节点H
都连接到A
并且F
连接到B
。布局必须从可用布局中选择,这个决定主要取决于您想要的结果图,因此由于您没有显示示例,因此我随意simple necklace layout
从circular
图形绘制库中选择 。
与前面的示例相同的 MWE:
\documentclass[tikz]{standalone}
\usetikzlibrary{graphs, graphdrawing}
\usegdlibrary{circular}
\begin{document}
\begin{tikzpicture}
\graph[simple necklace layout, grow=right]{ A[regardless at={(0,0)}] --[tail anchor=east] {B,C,D,E,F,G,H}, F--B};
\end{tikzpicture}
\end{document}
结果是