Bonjour, J'essaie de superposer deux courbes. Mais le diagramme est décalé vers la droite dans le pdf. Quand une seule courbe est tracée, elle est décalée vers la droite et partiellement visible. Quand les deux courbes sont tracées alors on ne voit rien. Cordialement. Voici le code:

\documentclass{article}
\usepackage[french]{babel}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{babel, math}
\pgfplotsset{compat=1.18}
\usepackage{siunitx}
%
\begin{document}
    \begin{figure}
        \centering
        \begin{tikzpicture}
            \begin{axis}[
                xlabel={Fréquence $\omega$ [\si{\radian\per\second}]},
                ylabel={Gain en dB},
                xmode=log,
                ymode=linear,
                grid=both,
                minor grid style={gray!25},
                major grid style={gray!50},
                xmin=100, xmax=10000,
                ymin=-10, ymax=100,
                width=\textwidth, height=6cm,
%               xticklabels=\empty,
                legend pos=north west,
                ]
                %
                \pgfmathdeclarefunction{GainBode1}{1}{
                    \pgfmathparse{20*log10(sqrt((1-(#1/1000)^2)^2 + (2*0.5*#1/1000)^2))}
                }
                \pgfmathdeclarefunction{GainBode2}{1}{
                    \pgfmathparse{20*log10(sqrt((1-(#1/1000)^2)^2 + (2*0.8*#1/1000)^2))}
                }
                %
                \addplot[blue, line width=1.5pt, domain=100:10000, samples=100]({x}, {GainBode1(x)});
%               \addlegendentry{$m=0.5$}
                %
                \addplot[red, line width=1.5pt, domain=100:10000, samples=100]({x}, {GainBode2(x)});
%               \addlegendentry{$m=0.8$}
                %
            \end{axis}
        \end{tikzpicture}

    \end{figure}

\end{document}

Posée 21 Aoû, 23:50

zieprofyeo's gravatar image

zieprofyeo
432
Taux d'acceptation : 0%

Modifiée 22 Aoû, 01:22

samcarter's gravatar image

samcarter
8.7k2817

utilisez l'environnement «code» pour un affichage correcte. Bonne nuit!

(22 Aoû, 00:33) joseph-tux joseph-tux's gravatar image

Le problème pourrait venir de l'utilisation de pgfmathdeclarefunction. En effet j'ai simplifié l'exemple. Mon problème peut être mieux compris en mettant en commentaire, alternativement les lignes 32 et 33 (celles qui utilisent addplot). La ligne qui n'utilise pas la fonction déclarée fonctionne correctement. Celle qui utilise pgfmathdeclarefunction décale le graphique à droite.

\documentclass{article}
\usepackage[french]{babel}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{babel, math}
\pgfplotsset{compat=1.18}
\usepackage{siunitx}
%
\begin{document}
    \begin{figure}
        \centering
        \begin{tikzpicture}
            \begin{axis}[
                xlabel={Fréquence $\omega$ [\si{\radian\per\second}]},
                ylabel={Gain en dB},
                xmode=log,
                ymode=linear,
                grid=both,
                minor grid style={gray!25},
                major grid style={gray!50},
                xmin=100, xmax=10000,
                ymin=-10, ymax=100,
                width=\textwidth, height=6cm,
%               xticklabels=\empty,
                legend pos=north west,
                ]
                %
                \pgfmathdeclarefunction{GaindB}{1}{
                    \pgfmathparse{20*log10(#1)}
                }
                %
                \addplot[blue, line width=1.5pt, domain=100:10000, samples=100]({x}, {GaindB(x)});
                \addplot[blue, line width=1.5pt, domain=100:10000, samples=100]({x}, {20*log10(x)});
            \end{axis}
        \end{tikzpicture}

    \end{figure}

\end{document}
Lien permanent

Publiée 22 Aoû, 09:28

zieprofyeo's gravatar image

zieprofyeo
432
Taux d'acceptation : 0%

Modifiée 22 Aoû, 09:50

samcarter's gravatar image

samcarter
8.7k2817

En ajoutant simplement un "%" à la fin de la ligne

pgfmathdeclarefunction{GaindB}{1}{%

cela resoud le problème.

Lien permanent

Publiée 24 Aoû, 20:51

zieprofyeo's gravatar image

zieprofyeo
432
Taux d'acceptation : 0%

Votre réponse
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.