[Résolu] Centrer des graphiques

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.

[Résolu] Centrer des graphiques

Messagepar max48 » Vendredi 11 Octobre 2013, 15:58

Bonjour,

Je voudrais savoir pourquoi mon deuxième graphique a les deux problèmes suivants:

1) le nom de la figure est dans le graphique;

2) le graphique n'est pas centré horizontalement.

Pourtant, j'utilise les mêmes commandes que pour le graphique 1 qui est correct.

Merci

Code: Tout sélectionner
\documentclass[a4paper,10pt]{report}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage[Rejne]{fncychap}
\usepackage{verbatim}
\usepackage{graphicx}
\usepackage[light]{kpfonts}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{placeins}
\usepackage{pstricks}
\usepackage{pstricks-add}
\usepackage{pst-plot}
\usepackage{fp}
\usepackage{multido}

\begin{document}
\FloatBarrier
\begin{figure}
\begin{center}
\psset{xunit=1cm,algebraic=true}
\begin{pspicture}(-4.5,-4.5)(5,5)
\psaxes[ticks=all,subticks=5,xDecimals=0,yDecimals=0,comma,Dx=1,Dy=1,
arrowsize=4pt,arrowlength=2]{->}(0,0)(-4,-4)(4.5,4.5)[$t$,0][$y$,90]
\psplot[linestyle=dashed,linecolor=blue]{-1.5}{3.5}{(x-1)^2-2.5}
\psplot[linewidth=0.5pt,linestyle=solid,linecolor=red]{-3.5}{3.5}{0.5*(x^2)-3.5}
\end{pspicture}
\caption{Paraboles $\displaystyle f(x)=(x-1)^2-2,5$ et $\displaystyle g(x)=0,5x^2-3,5$.}
\end{center}
\end{figure}

\FloatBarrier
\begin{figure}
\begin{center}
\psset{xunit=1cm,yunit=0.1cm,algebraic=true}
\begin{pspicture}(-4.5,-4.5)(5,5)
\psaxes[ticks=all,subticks=5,xDecimals=0,yDecimals=0,comma,Dx=1,Dy=10,
arrowsize=4pt,arrowlength=2]{->}(0,0)(-7,-50)(1.5,55)[$t$,0][$y$,90]
\psplot[linewidth=0.5pt,linestyle=solid,linecolor=blue]{-3.8}{1}{10/(x+4)}
\psplot[linewidth=0.5pt,linestyle=solid,linecolor=blue]{-7}{-4.2}{10/(x+4)}
\psplot[linewidth=0.5pt,linestyle=solid,linecolor=red]{-7}{1}{(5*x/2)+10}
\psline[linewidth=0.5pt,linecolor=green,linestyle=dashed](-4,-50)(-4,50)
\end{pspicture}
\caption{Hyperbole $\displaystyle f(x)=\frac{10}{x+4}$.}
\end{center}
\end{figure}
\end{document}
Dernière édition par max48 le Samedi 12 Octobre 2013, 01:03, édité 1 fois.
max48
Hecto-utilisateur
 
Messages: 84
Inscription: Samedi 29 Décembre 2012, 19:21
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: Centrer des graphiques

Messagepar marco56 » Vendredi 11 Octobre 2013, 17:23

Désolé, pas de réponse pour moi...
marco56
Giga-utilisateur
 
Messages: 740
Inscription: Jeudi 25 Novembre 2010, 22:10
Statut actuel: Actif et salarié | Enseignant

Re: Centrer des graphiques

Messagepar gigiair » Vendredi 11 Octobre 2013, 17:52

Ben il faut donner suffisamment d'espace à la pspicture. Par exemple \begin{pspicture}(-7,-50)(5,50)
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2372
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Centrer des graphiques

Messagepar balf » Vendredi 11 Octobre 2013, 19:27

La seconde figure avait sa déclaration psset{…, yunit=0.1cm,…} mal placée, et quelques incohérences entre les dimensions fournies à l'environnement pspicture (qu'il vaut mieux remplacer par pspicture* : ca coupe alors tout ce qui déborde du cadre).

Voici un code qui devrait mieux fonctionner :
Code: Tout sélectionner
\begin{pspicture*}(-7,-4.5)(1.8,6)
\psset{xunit=1cm,yunit=0.1cm,algebraic=true}
\psaxes[ticks=all,subticks=5,xDecimals=0,yDecimals=0,comma,Dx=1,Dy=10,
arrowsize=4pt,arrowlength=2]{->}(0,0)(-7,-45)(1.5,55)[$t$,0][$y$,90]
\psplot[linewidth=0.5pt,linestyle=solid,linecolor=blue]{-3.8}{1}{10/(x+4)}
\psplot[linewidth=0.5pt,linestyle=solid,linecolor=blue]{-7}{-4.2}{10/(x+4)}
\psplot[linewidth=0.5pt,linestyle=solid,linecolor=red]{-7}{1}{(5*x/2)+10}
\psline[linewidth=0.5pt,linecolor=green,linestyle=dashed](-4,-50)(-4,50)
\end{pspicture*}


Cela dit, vous devriez employer la commande \centering plutôt que l'environnement center, qui rajoute des espacements verticaux parasites. Et surtout, puisque vous ne voulez pas que vos figures flottent, ne pas les mettre dans l'environnement figure. Vous pouvez, par exemple les mettre dans un environnement center, et utiliser la commande
Code: Tout sélectionner
\captionof{figure}{Ma_figure}
fournie par l'extension caption, pour mettre la légende et pouvoir y faire référence.

Petite remarque finale : il suffit de charger pstricks-add, qui charge pstricks, pst-plot et multido, ainsi que pst-node, pst-math et pst-3d.
balf
Zetta-utilisateur
 
Messages: 3796
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Centrer des graphiques

Messagepar gigiair » Vendredi 11 Octobre 2013, 20:24

balf a écrit:Petite remarque finale : il suffit de charger pstricks-add, qui charge pstricks, pst-plot et multido, ainsi que pst-node, pst-math et pst-3d.

Pour un utilisateur d'AUCTeX ça reste nécessaire d'appeler pstricks si on veut qu'AUCTeX en soit informé. La compilation se fait alors automatiquement en mode dvi, la visualisation appelle automatiquement dvips suivi de gv. C'est évidemment paramétrable, mais c'est le comportement par défaut (ou presque).
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2372
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: Centrer des graphiques

Messagepar max48 » Vendredi 11 Octobre 2013, 22:10

Ça fonctionne très bien.

1) C'était, donc, en partie, un problème de coordonnées.

2) Après un test (prolongement de l'asymptote), j'ai constaté l'importance de l'astérisque. Donc, à utiliser.

3) Effectivement, le chargement seul de pstricks-add permet d'obtenir le même résultat.

4) balf a écrit :

Vous pouvez, par exemple les mettre dans un environnement center, et utiliser la commande ...


Est-ce que vous voulez parler plutôt de l'environnement centering dont vous aviez discuté tout juste avant?

5) J'ai essayé la commande \captionof avec l'environnement center en ajoutant une troisième figure et ça fonctionne. Cependant, LaTeX a placé cette figure à la fin...

Merci beaucoup
max48
Hecto-utilisateur
 
Messages: 84
Inscription: Samedi 29 Décembre 2012, 19:21
Statut actuel: Actif et salarié | Enseignant

Re: Centrer des graphiques

Messagepar balf » Vendredi 11 Octobre 2013, 22:38

Non, centering est une commande, pas un environnement. Il donne l'ordre de centrer tout ce qui suit ; c'est pourquoi il faut le mettre dans environnement ou à l'intérieur d'une paire d'accolades pour en limiter la portée, sinon c'est toute la suite du document qui est centrée. Et \captionof, si je ne m'abuse, doit être placé à la fin d'un environnement, qu'on demande à LaTeX de bien vouloir considérer comme un environnement figure pour ce qui des références et des légendes.
5) J'ai essayé la commande \captionof avec l'environnement center en ajoutant une troisième figure et ça fonctionne. Cependant, LaTeX a placé cette figure à la fin...
Que voulez-vous dire par « placé à la fin » ? Pas dans l'ordre où les figures se trouvent dans le code-source ?

B.A.
balf
Zetta-utilisateur
 
Messages: 3796
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: Centrer des graphiques

Messagepar max48 » Vendredi 11 Octobre 2013, 23:36

Je me suis relu et j'ai mal écrit ce que je voulais dire mais vous avez deviné. De plus, il restait d'anciennes lignes de code avec l'environnement figure.

J'ai tout corrigé et je n'ai mis que des commandes \centering. L'ordre est maintenant correct. Mais, j'ai constaté qu'il y avait encore un problème. Le titre du graphique 2 ne reste pas attaché au graphique (il tombe sur l'autre page).

Si je rajoute du texte entre les graphiques, ca règle le problème.

Cependant, le texte est beaucoup trop près des graphiques. Avec l'environnement figure, LaTeX règle lui-même les espacements verticaux. Il semble, qu'ici, c'est moi qui devrai ajouter des espacements verticaux.

De plus, il est centré? Pourtant, j'ai mis le texte à l'extérieur de la commande {\centering ...} Texte ... et non {\centering Texte ...}


Merci

Code: Tout sélectionner
\documentclass[a4paper,10pt]{report}
\usepackage{caption}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage[Rejne]{fncychap}
\usepackage{verbatim}
\usepackage{graphicx}
\usepackage[light]{kpfonts}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{placeins}
\usepackage{pstricks-add}

\begin{document}
\centering{
\begin{pspicture*}(-4.5,-4.5)(5,5)
\psset{xunit=1cm,algebraic=true}
\psaxes[ticks=all,subticks=5,xDecimals=0,yDecimals=0,comma,Dx=1,Dy=1,
arrowsize=4pt,arrowlength=2]{->}(0,0)(-4,-4)(4.5,4.5)[$t$,0][$y$,90]
\psplot[linestyle=dashed,linecolor=blue]{-1.5}{3.5}{(x-1)^2-2.5}
\psplot[linewidth=0.5pt,linestyle=solid,linecolor=red]{-3.5}{3.5}{0.5*(x^2)-3.5}
\end{pspicture*}
\captionof{figure}{Paraboles $\displaystyle f(x)=(x-1)^2-2,5$ et $\displaystyle g(x)=0,5x^2-3,5$.}
}
%La figure 1 repr\'esente deux courbes paraboliques.
\centering{
\begin{pspicture*}(-7,-4.5)(1.8,6)
\psset{xunit=1cm,yunit=0.1cm,algebraic=true}
\psaxes[ticks=all,subticks=5,xDecimals=0,yDecimals=0,comma,Dx=1,Dy=10,
arrowsize=4pt,arrowlength=2]{->}(0,0)(-7,-45)(1.5,55)[$t$,0][$y$,90]
\psplot[linewidth=0.5pt,linestyle=solid,linecolor=blue]{-3.8}{1}{10/(x+4)}
\psplot[linewidth=0.5pt,linestyle=solid,linecolor=blue]{-7}{-4.2}{10/(x+4)}
\psplot[linewidth=0.5pt,linestyle=solid,linecolor=red]{-7}{1}{(5*x/2)+10}
\psline[linewidth=0.5pt,linecolor=green,linestyle=dashed](-4,-50)(-4,100)
\end{pspicture*}
\captionof{figure}{Hyperbole 1 - $\displaystyle f(x)=\frac{10}{x+4}$.}
}
%La figure 2 repr\'esente une courbe hyperbolique et une droite.
\centering{
\begin{pspicture*}(-7,-4.5)(1.8,6)
\psset{xunit=1cm,yunit=0.1cm,algebraic=true}
\psaxes[ticks=all,subticks=5,xDecimals=0,yDecimals=0,comma,Dx=1,Dy=10,
arrowsize=4pt,arrowlength=2]{->}(0,0)(-7,-45)(1.5,55)[$t$,0][$y$,90]
\psplot[linewidth=0.5pt,linestyle=solid,linecolor=blue]{-3.8}{1}{10/(x+4)}
\psplot[linewidth=0.5pt,linestyle=solid,linecolor=blue]{-7}{-4.2}{10/(x+4)}
\psplot[linewidth=0.5pt,linestyle=solid,linecolor=red]{-7}{1}{(5*x/2)+10}
\psline[linewidth=0.5pt,linecolor=green,linestyle=dashed](-4,-50)(-4,100)
\end{pspicture*}
\captionof{figure}{Hyperbole 2 - $\displaystyle f(x)=\frac{3}{x+4}$.}
}
%La figure 3 repr\'esente une courbe hyperbolique et une droite.
\end{document}
max48
Hecto-utilisateur
 
Messages: 84
Inscription: Samedi 29 Décembre 2012, 19:21
Statut actuel: Actif et salarié | Enseignant

Re: Centrer des graphiques

Messagepar balf » Samedi 12 Octobre 2013, 00:22

Cependant, le texte est beaucoup trop près des graphiques. Avec l'environnement figure, LaTeX règle lui-même les espacements verticaux. Il semble, qu'ici, c'est moi qui devrai ajouter des espacements verticaux.

Le texte est trop près parce qu'au lieu d'écrire {\centering ...}, vous avez écrit \centering{...}. Du coup, c'est toute la suite du document qui est centrée.

D'autre part, il fallait avec cette solution utilisant \captionof employer l'environnement center, qui introduit un espacement vertical (en plus de la ligne blanche). Je vous joins le résultat de la compilation en pdf ; il y a une figure par page, les figures téant trop grandes pour qu'il puisse y en avoir deux sur la même page. Si vous en voulez 2 par page, il faut jouer sur les unités verticales (\psset{yunit=0.8mm} ou 0.8cm pour la première figure. Notez que xunit=1cm est inutile : c'est la valeur par défaut.)

Enfin caption se charge soit après babel, soit avec l'option frenchb, sinon le séparateur entre le label et la légende est un deux points au lieu du tiret demi-cadratin.

Aussi, pourquoi écrivez-vous « repr\'esente » au lieu de « représente » alors que le codage d'entrée est latin1 (je vous conseille plutôt d'utiliser utf8, qui est vraiment universel) ?

B.A.
Fichiers joints
newtestfigs.pdf
(20.81 Kio) Téléchargé 26 fois
balf
Zetta-utilisateur
 
Messages: 3796
Inscription: Mercredi 02 Janvier 2008, 23:18
Statut actuel: Actif et salarié | Maître de conférence

Re: [Résolu] Centrer des graphiques

Messagepar max48 » Samedi 12 Octobre 2013, 01:06

Maintenant, c'est réglé. J'ai pris note de l'ordre des packages.

Vous avez fait mention d'un sujet que je voulais justement abordé, c'est-à-dire, la réduction ou le grossissement d'un graphique. Je vais poster un nouveau message concernant ce sujet, possiblement demain.

Quant au codage, c'est parce que ce j'ai un clavier anglais.

Merci beaucoup
max48
Hecto-utilisateur
 
Messages: 84
Inscription: Samedi 29 Décembre 2012, 19:21
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Exabot [Bot], Grapeshot [Crawler], Proximic [Spider] et 19 invités