
Ich habe ein Problem, von dem ich überzeugt bin, dass Sie es lösen werden.
Ich zeichne zwei Diagramme, um Bode-Diagramme darzustellen. Damit die Abszissen übereinstimmen, sollten sie übereinander liegen. Ich kann die Zahlen ausrichten, aber da der Wert auf der Y-Achse unterschiedlich sein kann, sind die Diagramme selbst möglicherweise nicht ausgerichtet.
Überzeugen Sie sich selbst:
Kannst du mir helfen ?
Außerdem handelt es sich hierbei nur um ein „eigenständiges“ Dokument, daher habe ich „varwidth“ verwendet, um sie übereinander zu haben, aber wie erreiche ich dasselbe Ergebnis in einem „Artikel“-Dokument?
Erstellt mit diesem Code:
\documentclass[varwidth]{standalone}
\usepackage{pgfplots}
\begin{document}
\def\T{10}
\def\K{1000}
\def\FloorW{floor(ln(1/\T)/ln(10))}
\def\CeilW{ceil(ln(1/\T)/ln(10))}
\begin{tikzpicture}
\begin{semilogxaxis}[height=5cm,width=10cm,
grid=both, tick align=outside, tickpos=left]
\def\GdbK{20*ln(\K)/ln(10)}
\addplot [domain=(10^(\FloorW-2)):(1/\T),samples=2] {\GdbK}[red];
\addplot [domain=(1/\T):(10^(\CeilW+2)),samples=2] {\GdbK-(10*(ln(\T^2*x^2)))/ln(10)}[red];
\end{semilogxaxis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{semilogxaxis}[height=5cm,width=10cm,
grid=both, tick align=outside, tickpos=left,
ytick=\empty,extra y ticks={0,-45,-90} ]
\addplot [mark=none] coordinates
{(10^(\FloorW-2),0) (1/\T,0) (1/\T,-90) ((10^(\CeilW+2),-90)}[red];
\end{semilogxaxis}
\end{tikzpicture}
\end{document}
Antwort1
Platzieren Sie einfach beide Grafiken in der gleichen tikzpicture
Umgebung und verschieben Sie die zweite nach unten mityshift=-4.5cm
\documentclass[varwidth]{standalone}
\usepackage{pgfplots}
\begin{document}
\def\T{10}
\def\K{1000}
\def\FloorW{floor(ln(1/\T)/ln(10))}
\def\CeilW{ceil(ln(1/\T)/ln(10))}
\begin{tikzpicture}
\begin{semilogxaxis}[height=5cm,width=10cm,
grid=both, tick align=outside, tickpos=left]
\def\GdbK{20*ln(\K)/ln(10)}
\addplot [domain=(10^(\FloorW-2)):(1/\T),samples=2] {\GdbK}[red];
\addplot [domain=(1/\T):(10^(\CeilW+2)),samples=2] {\GdbK-(10*(ln(\T^2*x^2)))/ln(10)}[red];
\end{semilogxaxis}
%\end{tikzpicture}
%
%\begin{tikzpicture}
\begin{semilogxaxis}[yshift=-4.5cm,height=5cm,width=10cm,
grid=both, tick align=outside, tickpos=left,
ytick=\empty,extra y ticks={0,-45,-90} ]
\addplot [mark=none] coordinates
{(10^(\FloorW-2),0) (1/\T,0) (1/\T,-90) ((10^(\CeilW+2),-90)}[red];
\end{semilogxaxis}
\end{tikzpicture}
\end{document}
Antwort2
Off-Topic, da Ihr Problem durch die Antwort von @AndréC gelöst ist. Ich würde sein MWE folgendermaßen schreiben:
\documentclass[varwidth, margin=3mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\def\T{10}
\def\K{1000}
\def\FloorW{floor(ln(1/\T)/ln(10))}
\def\CeilW{ceil(ln(1/\T)/ln(10))}
\begin{tikzpicture}
\pgfplotsset{height=5cm,width=10cm,
grid=both,
%tick align=outside,
tickpos=left,
no marks}
\begin{semilogxaxis}
\def\GdbK{20*ln(\K)/ln(10)}
\addplot [red,domain=(10^(\FloorW-2)):(1/\T),samples=2] {\GdbK};
\addplot [red,domain=(1/\T):(10^(\CeilW+2)),samples=2] {\GdbK-(10*(ln(\T^2*x^2)))/ln(10)};
\end{semilogxaxis}
%
\begin{semilogxaxis}[yshift=-44mm,
ytick={0,-45,-90}]
\addplot [red] coordinates
{(10^(\FloorW-2),0) (1/\T,0) (1/\T,-90) (10^(\CeilW+2),-90)};
\end{semilogxaxis}
\end{tikzpicture}
\end{document}
Das Ergebnis ist das gleiche wie bei der Antwort von @AndréC.