I made a pie chart in my document. When it's not in a figure, everything is fine, the tikzpicture is between the two paragraphs I want. When I make it a figure, it goes to next page:
\begin{figure}[!h]
\begin{center}
\begin{tikzpicture}[nodes = {font=\sffamily}]
\foreach \percent/\name in {
81.5/Données reprises,
18.5/Nouvelles données
} {
\ifx\percent\empty\else % If \percent is empty, do nothing
\global\advance\cyclecount by 1 % Advance cyclecount
\global\advance\ind by 1 % Advance list index
\ifnum3<\cyclecount % If cyclecount is larger than list
\global\cyclecount=0 % reset cyclecount and
\global\ind=0 % reset list index
\fi
\pgfmathparse{\cyclelist[\the\ind]} % Get color from cycle list
\edef\color{\pgfmathresult} % and store as \color
% Draw angle and set labels
\draw[fill={\color!50},draw={\color}] (0,0) -- (\angle:\radius)
arc (\angle:\angle+\percent*3.6:\radius) -- cycle;
\node at (\angle+0.5*\percent*3.6:0.7*\radius) {\percent\,\%};
\node[pin=\angle+0.5*\percent*3.6:\name]
at (\angle+0.5*\percent*3.6:\radius) {};
\pgfmathparse{\angle+\percent*3.6} % Advance angle
\xdef\angle{\pgfmathresult} % and store in \angle
\fi
};
\end{tikzpicture}
\end{center}
\caption{Taux de propreté de la donnée}
\label{Taux de propreté de la donnée}
\end{figure}
Is there a way to solve this? Before posting, I checked the other questions, the solution mentionning the "float" is not acceptable for me because I don't want the space between paragraphs to change along the document.
Thanks :)
centerenvironment with command\centeringafter\begin{figure}, (ii) replace option[!h] withhtb` , (iii) see if you can insert image earlier in text, (iv) provide complete small document which reproduce your problem. – Zarko Feb 12 '19 at 09:58