Code for generating this figure
\begin{center}
\begin{tikzpicture}
\node (dive) [circle, color=white, fill=DarkSlateBlue, text centered, text width=1.9cm ] {Genetic diversity};
\node (drif) [circle, color=white, fill=DarkSlateBlue, text centered, text width=1.9cm, above right=1.4cm of dive] {Drift};
\node (pops) [circle, color=white, fill=DarkSlateBlue, text centered, text width=1.9cm, below right=1.4cm of drif] {Population size};
\node (muta) [circle, color=white, fill=DarkSlateBlue, text centered, text width=1.9cm, below right=1.4cm of pops] {Mutation};
\node (sele) [circle, color=white, fill=DarkSlateBlue, text centered, text width=1.9cm, below =1.4cm of dive] {Selection};
\draw [thick,->,>=stealth,gray] (sele) -- node[circle, text centered,fill=IndianRed, text=white, font=\scriptsize] {$-$} (dive);
\draw [thick,->,>=stealth,gray] (drif) -- node[circle, text centered,fill=IndianRed, text=white, font=\scriptsize] {$-$} (dive);
\draw [thick,->,>=stealth,gray] (pops) -- node[circle, text centered,fill=IndianRed, text=white, font=\scriptsize] {$-$} (drif);
\draw [thick,->,>=stealth,gray] (pops) -- node[circle, text centered,fill=ForestGreen, text=white, font=\scriptsize] {$+$} (dive);
\draw [thick,->,>=stealth,gray] (sele) -- node[circle, text centered,fill=IndianRed, text=white, font=\scriptsize] {$-$} (muta);
\draw [thick,->,>=stealth,gray] (pops) -- node[circle, text centered,fill=ForestGreen, text=white, font=\scriptsize] {$+$} (muta);
\draw [thick,->,>=stealth,gray] (muta) -- node[circle, text centered,fill=ForestGreen, text=white, font=\scriptsize] {$+$} (dive);
\end{tikzpicture}
\end{center}