我有一张包含 8 个节点的图形。我想画一些箭头,让它们指向一些节点(例如,我想画一些指向 4 个节点的箭头)。此外,我想在每个箭头旁边写一些文字。为此,我使用了此网页:http://en.wikibooks.org/wiki/LaTeX/Picture#Arrows我认为我必须单独编写每个箭头并手动固定位置。但是,我无法将箭头从其所在的位置移动。有什么想法吗?这是我使用的完整代码:
\\documentclass[11pt]{article}
\usepackage{tikz}
\usepackage{caption}
\usepackage{subcaption}
\begin{document}
\tikzset{%
point/.style = {fill=black,inner sep=1pt, circle, minimum width=3pt,align=right,rotate=60},
}
\tikzstyle{weight} = [font=\scriptsize]
\tikzstyle{vertex}=[circle,fill=blue!20]
\makeatletter
\setlength{\@fptop}{0pt}
\makeatother
\section{Some section}
\begin{figure}
\centering
\begin{subfigure}{0.5\textwidth}
\resizebox{0.7\textwidth}{!}{
\begin{tikzpicture}
[scale=.8,auto=right]
\put(0,10){\vector(1,0){20}}
\node[vertex] (v1) at (1,10) {$a$};
\node[vertex] (v2) at (1,8) {$b$};
\node[vertex] (v3) at (1,6) {$c$};
\node[vertex] (v4) at (1,4) {$d$};
\node[vertex] (v5) at (8,10) {$e$};
\node[vertex] (v6) at (8,8) {$f$};
\node[vertex] (v7) at (8,6) {$g$};
\node[vertex] (v8) at (8,4) {$h$};
\draw[->] (v1)--(v8);
\draw[->] (v1)--(v5);
\draw[->] (v2)--(v5);
\draw[->] (v2)--(v6);
\draw[->] (v3)--(v6);
\draw[->] (v3)--(v7);
\draw[->] (v4)--(v7);
\draw[->] (v4)--(v8);
\end{tikzpicture}
}
\caption{I want to place the arrow s.t. it will point to node "a". Also I want to insert some text above the arrow}
\label{fig:1}
\end{subfigure}
\hspace{4em}%
\caption{I want to place the arrow s.t. it will point to node "a". Also I want to insert some text above the arrow.}\label{fig:animals}
\end{figure}
\end{document}
答案1
可能是这样的吗?
这是使用pin
标记节点工具生成的。请注意,我已更新您的代码以使其\tikzset
一致使用,因为\tikzstyle
已弃用。
\documentclass[tikz, border=10pt]{standalone}
\begin{document}
\tikzset{%
point/.style = {fill=black,inner sep=1pt, circle, minimum width=3pt,align=right,rotate=60},
weight/.style={font=\scriptsize},
vertex/.style={circle,fill=blue!20}
}
\begin{tikzpicture}
[scale=.8,auto=right]
\put(0,10){\vector(1,0){20}}
\node[vertex, pin={[pin edge=<-, pin distance=10pt]105:{Label Here}}] (v1) at (1,10) {$a$};
\node[vertex] (v2) at (1,8) {$b$};
\node[vertex] (v3) at (1,6) {$c$};
\node[vertex] (v4) at (1,4) {$d$};
\node[vertex] (v5) at (8,10) {$e$};
\node[vertex] (v6) at (8,8) {$f$};
\node[vertex] (v7) at (8,6) {$g$};
\node[vertex] (v8) at (8,4) {$h$};
\draw[->] (v1)--(v8);
\draw[->] (v1)--(v5);
\draw[->] (v2)--(v5);
\draw[->] (v2)--(v6);
\draw[->] (v3)--(v6);
\draw[->] (v3)--(v7);
\draw[->] (v4)--(v7);
\draw[->] (v4)--(v8);
\end{tikzpicture}
\end{document}