[Tex/LaTex] Help with circle and arrows diagram with PGFPLOTS

diagramspgfplotstikz-pgf

I'm trying to make a plot similar to this one but I'm having a really hard time. If anyone can help me getting the details, I'll appreciate.

enter image description here

I thought I couldn't post questions like this, but as I've seen some questions like those asking for plots similar to xkcd's, I believe it might be OK.

My far-from-good example is here. My circle has a radius=sqrt(2), but it really doesn't matter.

\documentclass{article}

\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}

\begin{tikzpicture}

\begin{axis}[
height=20cm,
width=20cm,
xmin=-2.5, xmax=2.5,
ymin=-2.5, ymax=2.5,
only marks,
axis x line=none,
axis y line=none
]

\draw (axis cs:0,0) circle[radius=1.41421356237];

% circle
\addplot [mark=*, mark size=0.3cm,color=red]
coordinates {
(-1,-1)
(1,1)
};
\addplot [mark=*, mark size=0.3cm,color=red]
coordinates {
(-1,1)
(1,-1)
};
% black arrows
\addplot [mark=none,color=black,
quiver={u={x}, v={-x},scale arrows=0.4}, ->]
coordinates {
(-1,-1)
(1,1)
};
\addplot [mark=none,color=black,
quiver={u={-x}, v={-x},scale arrows=0.4}, ->]
coordinates {
(-1,1)
(1,-1)
};
% blue arrows
\addplot [mark=none,color=blue,
quiver={u={x}, v={-x-0.5},scale arrows=0.5}, ->]
coordinates {
(-1,-1)
(1,1)
};
\addplot [mark=none,color=blue,
quiver={u={-x}, v={-x-0.5},scale arrows=0.5}, ->]
coordinates {
(-1,1)
(1,-1)
};

\addplot [mark=*, mark size=0.3cm,color=blue] coordinates {
(1.41421356237,0)
(-1.41421356237,0)
(0,1.41421356237)
(0,-1.41421356237)
(1.41421356237,0)
};

\end{axis}  
\end{tikzpicture}
\end{document}

which gives me this:

enter image description here

Best Answer

Instead of pgfplots construction, you can use an alternating style which are slightly verbose here (repetition of ->, ultra thin etc.) Luckily the structure is easy to identify. You can furnish further according to your needs.

EDIT: Thanks to JLDiaz' color-seeing eyes, I took a stab on the green arrows. Hope it hits the right one :)

\documentclass[tikz]{standalone}
\usetikzlibrary{calc}

\begin{document}

\begin{tikzpicture}[>=latex,
cnode/.style={circle,inner sep=3pt,outer sep=0},
myline/.style={ultra thin,->}
]
\def\myarrowlen{5mm}
\pgfmathsetmacro{\myradius}{sqrt(2)}

\node[draw,circle,minimum size=2*\myradius cm] (bigc) at (0,0) {\tiny +};

\foreach \x in {1,...,8}{
\ifodd\x\relax
    \node[cnode,fill=red] (n-\x) at (bigc.45*\x) {};
    \draw[red,myline] (n-\x)  -- ($(n-\x)!-\myarrowlen!(bigc.45*\x+45)$);
    \draw[red,myline] (n-\x)  -- ($(n-\x)! \myarrowlen!(bigc.45*\x+45)$);
\else
    \node[cnode,fill=blue] (n-\x) at (45*\x:\myradius) {};
    \draw[blue , myline] (n-\x) -- ($(n-\x)!-\myarrowlen!(bigc.45*\x+45)$);
    \draw[green, myline] (n-\x) -- ($(n-\x)! \myarrowlen!(bigc.45*\x-45)$);
    \draw[     , myline] (n-\x) -- ++({45*(\x-2)}:\myarrowlen);
\fi
}
\end{tikzpicture}
\end{document}

enter image description here