Tikz: Achse transformieren, um ein Intervall zu überspringen

Tikz: Achse transformieren, um ein Intervall zu überspringen

In einem Diagramm sind zwei Graphen dargestellt, wobei zwischen den Graphen relativ viel Platz ist, was das Ganze ziemlich unansehnlich macht. Ich möchte sie näher zusammenrücken, indem ich den Zwischenraum überspringe.

Dies ist das Diagramm

\documentclass{standalone}
\usepackage{tikz,pgfplots}

\begin{document}
\begin{tikzpicture} 
\pgfplotsset{
    scale only axis}
\begin{axis}[tick align=center,xmin=546, xmax=565, ymin=0, ymax=60]
\addplot[line width=1pt]
coordinates{(564,0)(563,10)(562,20)(561,30)(560,40)(559,50)(558,60)}; 
\addplot[dotted,line width=1pt]
coordinates{(552,0)(551,10)(550,20)(549,30)(548,40)(547,50)(546,60)};
\end{axis}
\end{tikzpicture}
\end{document}

Und so stelle ich mir die x-Achse vor:

\documentclass{standalone}
\usepackage{tikz,pgfplots}

\begin{document}
\begin{tikzpicture}
\foreach \x/\y in {0/550, 1/552, 4/556, 5/558}
\draw (\x,0.25) -- (\x,-0.25) node[below]{$\y$};
\draw (-0.5, 0)--(2,0);
\draw (3, 0)--(5.5,0);
\draw[dotted] (2,0)--(3,0);
\end{tikzpicture}
\end{document}

Antwort1

Dies ist fast vollständig übernommen ausdiese Antwort. Natürlich muss man die Rolle von xund vertauschen y, dann werden yminund zu und , daymaxxminxmaxStefan Pinnow erwähnt.

\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16,scale only axis}
\usepgfplotslibrary{groupplots}
\begin{document}
\begin{tikzpicture} 
\begin{groupplot}[width=6cm,
    group style={
        group name=my fancy plots,
        group size=2 by 1,
        %xticklabels at=edge bottom,
        horizontal sep=0pt
    },
    ]

\nextgroupplot[tick align=center,xmin=545, xmax=553, ymin=0, ymax=60,
axis y line=left]
\addplot[line width=1pt]
coordinates{(564,0)(563,10)(562,20)(561,30)(560,40)(559,50)(558,60)}; 
\addplot[dotted,line width=1pt]
coordinates{(552,0)(551,10)(550,20)(549,30)(548,40)(547,50)(546,60)};
\nextgroupplot[tick align=center,xmin=557, xmax=565, ymin=0, ymax=60,
axis x discontinuity=crunch,axis y line=right,ytick=\empty,
xtick={560,562,564}]
\addplot[line width=1pt]
coordinates{(564,0)(563,10)(562,20)(561,30)(560,40)(559,50)(558,60)}; 
\addplot[dotted,line width=1pt]
coordinates{(552,0)(551,10)(550,20)(549,30)(548,40)(547,50)(546,60)};
\end{groupplot}
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen