Alignement gantt et tikzpicture

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Alignement gantt et tikzpicture

Messagepar anonyme74170 » Mardi 25 Octobre 2016, 11:53

Bonjour,

Je voudrais avoir les ordonnées des deux figures alignées verticalement, pour avoir une superposition parfaite entre les deux figures.
pgfgantt est un package qui fait très bien des graphiques Gantt avec Tikz. Je suis parti avec l'idée d'utiliser \subfloat{}. J'ai fait quelques essais avec trim axis left comme option, mais cela ne fonctionne pas. Là je n'ai plus d'idée...

Code: Tout sélectionner
\documentclass[11pt,french]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage{tikz}
\usepackage{pgfplots, pgfplotstable}
\pgfplotsset{
   compat = 1.11,
   /pgf/number format/.cd,use comma,
   1000 sep = {\,},
   min exponent for 1000 sep = 4}
\usepackage{pgfgantt}
\usepackage{subfig}

\begin{document}
\begin{figure}
\subfloat{
\begin{ganttchart}[
bar/.append style={rounded corners=3pt, fill=black!10},
milestone/.append style={fill=black!10, rounded corners=1pt, dotted},
group label node/.append style={align=center},
x unit=0.04\textwidth,
vgrid,
]{0}{16}
\gantttitle{Planification}{17} \\
\ganttbar{Phase 1}{0}{3}\\
\ganttbar{Phase 2}{4}{7}\\
\ganttbar{Phase 3}{8}{11}\\
\ganttbar{Phase 4}{12}{15}\\
\end{ganttchart}
}

\subfloat{
\begin{tikzpicture}[trim axis left]
\begin{axis}[
xmajorgrids=true,
xminorgrids=true,
xtick=data,
xscale=1.4,
]
\addplot coordinates { (0,0) (1,0.2) (2,0.2)(3,0.2) (16,1) };
\end{axis}
\end{tikzpicture}
}
\end{figure}


Merci bien pour vôtre aide.
B
anonyme74170
Déca-utilisateur
 
Messages: 34
Inscription: Jeudi 21 Avril 2016, 10:34
Statut actuel: Actif et salarié

Publicité

Re: Alignement gantt et tikzpicture

Messagepar evariste_G » Mardi 25 Octobre 2016, 12:47

Bonjour.

Est-ce que ceci pourrait vous aider ?

Code: Tout sélectionner
\documentclass[11pt,french]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage{tikz}
\usepackage{pgfplots, pgfplotstable}
\pgfplotsset{
   compat = 1.11,
   /pgf/number format/.cd,use comma,
   1000 sep = {\,},
   min exponent for 1000 sep = 4}
\usepackage{pgfgantt}
\usepackage{subfig}

\begin{document}
\begin{tikzpicture}
\begin{scope}[shift={(0,0)}]
\begin{ganttchart}[
bar/.append style={rounded corners=3pt, fill=black!10},
milestone/.append style={fill=black!10, rounded corners=1pt, dotted},
group label node/.append style={align=center},
x unit=0.04\textwidth,
vgrid,
]{0}{16}
\gantttitle{Planification}{17} \\
\ganttbar{Phase 1}{0}{3}\\
\ganttbar{Phase 2}{4}{7}\\
\ganttbar{Phase 3}{8}{11}\\
\ganttbar{Phase 4}{12}{15}\\
\end{ganttchart}
\end{scope}
\begin{scope}[shift={(0,-6)},trim axis left]
\begin{axis}[
xmajorgrids=true,
xminorgrids=true,
xtick=data,
xscale=1.4,
]
\addplot coordinates { (0,0) (1,0.2) (2,0.2)(3,0.2) (16,1) };
\end{axis}
\end{scope}
\end{tikzpicture}
\end{document}
evariste_G
Téra-utilisateur
 
Messages: 1319
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Post-bac

Re: Alignement gantt et tikzpicture

Messagepar anonyme74170 » Mercredi 26 Octobre 2016, 11:00

Bonjour,

Merci bien evarist_G, cela m'aide effectivement. J'ai adapté le code et suis quasiment au bout. Je m'étais mal exprimé avec la superposition...

Code: Tout sélectionner
documentclass[11pt,french]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}

\usepackage{tikz}
\usepackage{pgfplots, pgfplotstable}
\pgfplotsset{
   compat = 1.11,
   /pgf/number format/.cd,use comma,
   1000 sep = {\,},
   min exponent for 1000 sep = 4}
\usepackage{pgfgantt}

\begin{document}
\begin{tikzpicture}
\begin{scope}[shift={(0,6)}]
\begin{ganttchart}[
bar/.append style={rounded corners=3pt, fill=black!10},
milestone/.append style={fill=black!10, rounded corners=1pt, dotted},
group label node/.append style={align=center},
x unit=0.04\textwidth,
vgrid,
]{0}{16}
\gantttitle{Planification}{17} \\
\ganttbar{Phase 1}{0}{3}\\
\ganttbar{Phase 2}{4}{7}\\
\ganttbar{Phase 3}{8}{11}\\
\ganttbar{Phase 4}{12}{15}
\end{ganttchart}
\end{scope}

\begin{scope}[shift={(0,-5)},trim axis left]
\begin{axis}[
xmajorgrids=true,
xminorgrids=true,
axis x line=bottom,
axis y line=left,
xtick={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},
x=0.04\textwidth,
xmin=0,xmax=17,
ymin=0,
xlabel={Temps},
ylabel={Coût},
]
\draw (0,20)--(17,20)--(17,0);
\addplot coordinates { (0,0) (1,0.2) (16,20) };
\end{axis}
\end{scope}
\end{tikzpicture}
\end{document}


Si on arrivait à supprimer l'espace entre les deux figures autrement que par une modification manuelle du shift ce serait top. De manière très accessoire la suppression des flèches des axes du graphique du bas serait un plus. Il semble que ce ne soit pas possible avec l'option

Code: Tout sélectionner
axis x line=bottom,
axis y line=left,

Mais simplement avec middle et center (p 253 doc PGFPLOTS manual, rev 1.13 2016/01/06 Descritption Axis lines).

A nouveau merci.
B
anonyme74170
Déca-utilisateur
 
Messages: 34
Inscription: Jeudi 21 Avril 2016, 10:34
Statut actuel: Actif et salarié


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot], Google Adsense [Bot] et 15 invités