Ruptura del eje X para diagrama de caja con diagrama de grupo

Ruptura del eje X para diagrama de caja con diagrama de grupo

Actualmente no sé cómo proceder para obtener una ruptura del eje x para mi diagrama de caja. Al revisar publicaciones de tex.stackexchange ligeramente relacionadas, supongo que esto debería poder lograrse con el diagrama de grupo, pero mi diagrama de caja no se muestra cuando cambio mi código de eje a diagrama de grupo.

Para ilustrar lo que me gustaría lograr:

¿Algún consejo sobre esto?

Código de trabajo sin interrupción y diagrama de grupo:

\documentclass{minimal}  
\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}
[
ytick=\empty,
xmin=0, xmax=4500,
xtick={0,500,1000,2500,4500},
axis x line=bottom,
axis line style={-},
axis y line=none,
enlargelimits=0.05,
height=4.0cm, width=14.0cm,
]
\addplot+[
boxplot prepared={
upper quartile=650,
        lower quartile=30,
        upper whisker=1400,
        lower whisker=0,
        median=80
},black,
] coordinates {
(0,2100)
(0,2300)
(0,2900)
(0,3400)
(0,3700)
(0,4200)
};
\end{axis}
\end{tikzpicture}
\end{document}

Código que no funciona para el diagrama de caja con ruptura del eje x:

\documentclass{minimal}  
\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{groupplot}[
    group style={
        group name=my fancy plots,
        group size=2 by 1,
        axis line style={-},
        ytick=\empty,
    },
    width=14cm,
]
\nextgroupplot[
               xtick={0,1000,2000,3000},
               axis x discontinuity=parallel,
               axis x line=bottom,
               width=10cm]
\addplot[
boxplot prepared={
upper quartile=650,
        lower quartile=30,
        upper whisker=1400,
        lower whisker=0,
        median=80
},black,
] coordinates {
(0,2100)
(0,2300)
(0,2900)
(0,3400)
(0,3700)
(0,4200)
};         
\nextgroupplot[xmin=9500,xmax=9750,
               xtick={9500,9750},
               axis x line=bottom,
               width=2.0cm]
\addplot coordinates {(0,9600)}; 
\end{groupplot}
\end{tikzpicture}
\end{document}

¡Gracias!

Editar:

Código de trabajo para referencia futura:

\documentclass{minimal}  
\usepackage{tikz}
\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}
\begin{groupplot}[
    group style={
        group name=my fancy plots,
        group size=2 by 1,
        horizontal sep=3pt % added
    },
    % the following are added
    scale only axis,
    height=3cm,
    ymin=0.5,ymax=1.5,
    axis y line=none,
    axis x line=bottom,
]
\nextgroupplot[
               xmin=-100,
               ymin=0.5,ymax=1.5,
               xtick={0,1000,2000,3000},
               width=10cm,
               x axis line style={-{Bar[width=15pt]}}  
]
\addplot[
mark = x , mark options = {mark color=black},
boxplot prepared={
upper quartile=650,
        lower quartile=30,
        upper whisker=1400,
        lower whisker=0,
        median=80
},black,
] coordinates {
(0,2100)
(0,2300)
(0,2900)
(0,3400)
(0,3700)
(0,4200)
};

\nextgroupplot[xmin=9300,xmax=9900,
               xtick={9500,9750},
               width=2.0cm,
               x axis line style={{Bar[width=15pt]}-}
 ]
\addplot [
mark = x, mark options = {mark color=black}]
coordinates {(9600, 1)}; 
\end{groupplot}
\end{tikzpicture}
\end{document}

Respuesta1

Lo primero que falta en su ejemplo es \usepgfplotslibrary{groupplots, statistics}, pero supongo que los tiene en su documento real.

Hay algunas cosas mal en tu código.

  • Las opciones comunes para los ejes en un grupo de gráficos no van dentro group style, sino afuera. Por lo tanto, axis line style={-}, ytick=\emptyes necesario trasladarlo.

  • Solo estableces el ancho del eje, pero la relación de aspecto permanecerá constante si no configuras también la altura. Considere también que, de forma predeterminada, el ancho y el alto de un eje se establecerán en 45 puntos menos que las longitudes especificadas, para dejar espacio para las etiquetas de los ejes. Agregue scale only axispara que las longitudes se apliquen al propio cuadro del eje; de ​​lo contrario, un eje de 2 cm de ancho se vuelve bastante pequeño.

  • En el gráfico de coordenadas del segundo eje, ha intercambiado los valores de x e y.

  • Una axis discontinuitysiempre se coloca al inicio de la línea del eje, pero como la has dividido en dos ejes, no la necesitas. En lugar de eso, cambié el tipo de flecha para las líneas del eje, por ejemplo, x axis line style={-|}para agregar las líneas. (O agregue \usetikzlibrary{arrows.meta}y use x axis line style={-{Bar[width=15pt]}}para obtener una barra más larga).

Creo que también hice algunos otros ajustes, creo que esas fueron las cosas más importantes.

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots, statistics}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}
\begin{groupplot}[
    group style={
        group name=my fancy plots,
        group size=2 by 1,
        horizontal sep=3pt % added
    },
    % the following are added
    scale only axis,
    height=3cm,
    ymin=0.5,ymax=1.5,
    axis y line=none,
    axis x line=bottom,
]
\nextgroupplot[
               xmin=-100,
               xtick={0,1000,2000,3000},
               width=10cm,
               x axis line style={-{Bar[width=15pt]}}  
]
\addplot[
boxplot prepared={
upper quartile=650,
        lower quartile=30,
        upper whisker=1400,
        lower whisker=0,
        median=80
},black,
] coordinates {
(0,2100)
(0,2300)
(0,2900)
(0,3400)
(0,3700)
(0,4200)
};

\nextgroupplot[xmin=9350,xmax=9900,
               xtick={9500,9750},
               width=2.0cm,
               x axis line style={{Bar[width=15pt]}-}
 ]
\addplot coordinates {(9600, 1)}; 
\end{groupplot}
\end{tikzpicture}
\end{document}

información relacionada