Tikzimagen con subtítulo

Tikzimagen con subtítulo

Me gustaría hacer la siguiente figura:

ingrese la descripción de la imagen aquí

Recibí el código para una figura algo similar aquí.Tikzpicture con subfiguras y título.pero no logre cambiar esto al formato deseado como se muestra arriba.

\documentclass{article}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{tikz}

\begin{document}
\begin{figure}
    \centering
    \subcaptionbox{subfigure a}[\textwidth]{
    \begin{tikzpicture}
        \def\length{6}   % Length of your arrow
        \def\height{0.5} % Height of your intersections
        \draw[->] (-\length,0) -- (\length,0);
        \node at (-2*\length/3,0) [yshift=-4,anchor=north]{X};
        \node at ( 0,0)           [yshift=-4,anchor=north]{Y};
        \node at ( 2*\length/3,0) [yshift=-4,anchor=north]{Z};
        \draw[-] (-\length/3,-\height/2) -- (-\length/3,\height/2);
        \draw[-] ( \length/3,-\height/2) -- ( \length/3,\height/2);
    \end{tikzpicture}
    }
    \subcaptionbox{subfigure b}[\textwidth]{
    \begin{tikzpicture}
        \def\length{6}   % Length of your arrow
        \def\height{0.5} % Height of your intersections
        \draw[->] (-\length,0) -- (\length,0);
        \node at (-2*\length/3,0) [yshift=-4,anchor=north]{X};
        \node at ( 0,0)           [yshift=-4,anchor=north]{Y};
        \node at ( 2*\length/3,0) [yshift=-4,anchor=north]{Z};
        \draw[-] (-\length/3,-\height/2) -- (-\length/3,\height/2);
        \draw[-] ( \length/3,-\height/2) -- ( \length/3,\height/2);
    \end{tikzpicture}
    }
\end{figure}
\end{document}

Respuesta1

Es mejor usar el subcaption block environmentque te permitirá variar la verticalseparación entre figuras que uso \captionsetup{skip=2em}, entonces también usando este entorno puedes controlar si los pies de foto van belowo above, esto se define si pones el pie de foto antes o después del dibujo; En el caso del dibujo que propones, he creado 3 definiciones de dibujo para no tener que especificar muchas veces los estilos y coordenadas. La primera \Xdoms, te permite colocar marcas en posiciones relativas a un factor entre 0y 1del largo indicado, en este caso el ancho de la línea de texto \linewidht, de esa manera podrás colocar mejor las marcas, cada marca debe tener un name, un contenty un color, El namesse utilizará para otras definiciones de dibujo para no estar colocando coordenadas absolutas.

El segundo \Acot, dibuja una dimensión entre 2 marcas definidas usando sus names, recuerda que ahí \xdomshay unas 2coordenadas nombradas que son namey name-up, que es donde comenzarán las dimensiones, luego el contenido va en nodos de texto en middle( pos=0.5) y abovela ruta.

El último se usa para colocar el punto medio "x" el cual usa la biblioteca tikz calccon el método $(#1)!0.5!(#2)$, ubica el punto medio entre 2 nodos que se pueden ingresar como nombres también, luego se dibuja un círculo y se define un nodo de texto pero en lugar de colocar el texto correspondiente lo uso y node labello puedo colocar a cierta distancia label distance=0.7emdel nodo en una orientación específica -90.

Al hacer esto se pueden dibujar todos los casos, incluso uno adicional como patio de juegos, obviamente debes usar primero \xdoms, y luego el resto ya que usan los nombres de las coordenadas que se crean en cada marca ingresada.

RESULTADO:

ingrese la descripción de la imagen aquí

MWE:

\documentclass{article}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,calc}

\def\Xdoms#1#2#3{%\Xdoms{length}{height}{Markers{position/name/content/color}}
    \draw(0,0)--++(#1,0);
    \foreach \position/\name/\content/\color in {#3}{
        \draw[draw=\color,thick]
        (#1*\position,0)++(0,#2/2)
            -- ++(0,-#2) node[below, minimum height=2em,inner sep=0]{\content};
        \coordinate (\name-up) at (#1*\position,#2*1.5);
        \coordinate (\name) at (#1*\position,0);
    }
}

\def\Acot#1#2#3#4{
    \draw[draw=#4,|-|](#1)--(#2)node [pos=0.5,above]{#3};
}
\def\Dotx#1#2#3#4{
    \fill[fill=#4]($(#1)!0.5!(#2)$) circle (3.5pt) node[below,label={[label distance=0.7em,#4]-90:#3}]{};
}


\begin{document}
    \setcounter{figure}{4}
    \begin{figure}
        \centering
        \caption {figure name}  
        \begin{subcaptionblock}{\textwidth}
            \begin{tikzpicture}
                \Xdoms{\linewidth}{0.5}{
                    0/Mk-0/0/black,%\position/\name/\content/\color
                    0.45/Mk-a/a/black,
                    0.65/Mk-b/b/black,
                    1/Mk-1/1/black%
                }
                \Acot{Mk-0-up}{Mk-a-up}{Text\_1}{red}
                \Acot{Mk-b-up}{Mk-1-up}{Text\_2}{blue}
                \Dotx{Mk-b}{Mk-1}{x}{black} 
            \end{tikzpicture}
            \captionsetup{skip=2em}
            \caption{Sub figure a}
        \end{subcaptionblock}
        \begin{subcaptionblock}{\textwidth}
            \begin{tikzpicture}
                \Xdoms{\linewidth}{0.5}{
                    0/Mk-0/0/black,%\position/\name/\content/\color
                    0.5/Mk-a/a/black,
                    1/Mk-1/1/black%
                }
                \Acot{Mk-0-up}{Mk-a-up}{Text\_1}{red}
                \Acot{Mk-a-up}{Mk-1-up}{Text\_2}{blue}
                \Dotx{Mk-a}{Mk-1}{x}{black} 
            \end{tikzpicture}
            \captionsetup{skip=2em}
            \caption{Sub figure b}
        \end{subcaptionblock}
        \begin{subcaptionblock}{\textwidth}
            \begin{tikzpicture}
                \Xdoms{\linewidth}{0.5}{
                    0/Mk-0/0/black,%\position/\name/\content/\color
                    1/Mk-1/1/black%
                }
                \Acot{Mk-0-up}{Mk-1-up}{Text\_2}{blue}
                \Dotx{Mk-0}{Mk-1}{x}{black} 
            \end{tikzpicture}
            \captionsetup{skip=2em}
            \caption{Sub figure c}
        \end{subcaptionblock}
        \begin{subcaptionblock}{\textwidth}
            \begin{tikzpicture}
                \Xdoms{\linewidth}{0.5}{
                    0/AA/A/red,%\position/\name/\content/\color
                    0.1/BB/B/black!20!red,
                    0.3/CC/C/black!30!red,
                    0.4/DD/D/black!40!red,
                    0.5/EE/E/black!50!red,
                    0.75/FF/F/black!60!red,
                    1/GG/G/black!70!red%
                }
                \Acot{AA-up}{CC-up}{A TO C}{blue}
                \Acot{DD-up}{FF-up}{D TO F}{blue!50!red}
                \Dotx{AA}{BB}{x}{green!50!blue}
                \Dotx{EE}{FF}{y}{green!50!cyan} 
            \end{tikzpicture}
            \captionsetup{skip=2em}
            \caption{Sub figure d playground}
        \end{subcaptionblock}
    \end{figure}
\end{document}

Respuesta2

Esto es lo que obtengo de tu código.

Resultado

No pude entender cuál es el problema relacionado con los subtítulos. ¿Es con la tikzpropia ilustración? ¿Quieres conseguir la misma figura?

Por favor, aclara tu pregunta.

información relacionada