3

Two graphs are illustrated in a diagram, with quite a lot of space inbetween, making it rather unsightly. I would like to move them closer together by skipping the space inbetween.

This is the diagram

\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}

And this is how I imagine the x axis:

\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}
cheesus
  • 123

1 Answers1

2

This is almost entirely taken from this answer. Of course one has to exchange the role of x and y, then ymin and ymax become xmin and xmax, as Stefan Pinnow mentions.

\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}

enter image description here

  • 1
    good idea to use group plots! +1. – Zarko Mar 10 '19 at 16:32
  • 1
    @Zarko Thanks but this is definitely not my idea but the idea of the author of https://tex.stackexchange.com/a/62778/121799. –  Mar 10 '19 at 16:33
  • well, i first time see it in your answer :-)! it is useful at using axis ... discontinuity which unfortunately is no possible to define in middle of diagram (as far as i know). – Zarko Mar 10 '19 at 16:42
  • 1
    @Zarko AFAIK you can move the symbol, e.g. the crunch around. But this does not give you a discontinuity for the ticks. Of course, you can add coordinate transformations, see https://tex.stackexchange.com/a/46651/121799. But the groupplot thingy is IMHO simpler. –  Mar 10 '19 at 16:51