Como desenho uma seta na minha figura, de forma que a seta aponte para um nó específico?

Como desenho uma seta na minha figura, de forma que a seta aponte para um nó específico?

Eu tenho a figura de um gráfico com 8 nós. Quero desenhar setas, pois elas apontarão para alguns dos nós (por exemplo, quero desenhar setas apontando para 4 dos nós). Além disso, ao lado de cada seta quero escrever algum texto. Para fazer isso, usei esta página da web:http://en.wikibooks.org/wiki/LaTeX/Picture#Arrowse pensei que teria que escrever cada seta separadamente e corrigir o posicionamento manualmente. Porém, não consigo mover a seta da posição onde ela está. Alguma ideia? Este é o resultadoAqui está o código completo que usei:

 \\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}

Responder1

Possivelmente algo assim?

Nó fixado

Isso foi produzido usando o pinrecurso de rotulagem de nós. Observe que atualizei seu código para uso \tikzsetconsistente, pois \tikzstyleestá obsoleto.

\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}

informação relacionada