Gráfico de grupo: Substituindo os valores (rótulos) no eixo x

Gráfico de grupo: Substituindo os valores (rótulos) no eixo x

Gostaria de substituir rótulos numéricos (por exemplo, 1,2,3,4,5) no eixo x por nomes (por exemplo, A,B,C,D,E) em um ambiente de plotagem de grupo em umcaso a casobase. O ambiente de plotagem em grupo parece suportar facilmente apenas umcomumeixo x em todos os gráficos de grupo. Como posso alterar os rótulos do eixo x no primeiro gráfico para { A,B,C,D,E} e { F,G,H,I,S} no segundo gráfico?

Intitulei propositalmente minha pergunta para se parecer com a seguinte postagem:TikZ: Substituindo os valores (rótulos) no eixo x por nomes

\documentclass[]{article}
    \usepackage{pgfplots, alphalph}
    \usepgfplotslibrary{groupplots}
\usepackage{filecontents}
 \begin{filecontents*}{mydata.dat}
A   B      
1   3
2   4
3   1
4   7
5   8
  \end{filecontents*}
 \begin{filecontents*}{mydata2.dat}
C   D      
1   7
2   5
3   4
4   6
5   7
\end{filecontents*}


\begin{document}

\begin{figure}
\makebox[\textwidth]{%
    \begin{tikzpicture}[font=\footnotesize\sffamily]
      \begin{groupplot}[
         group style={group size=2 by 1, vertical sep=70pt,
    ylabels at=edge left
    },
          view={0}{90},
          width=5.2cm,
          height=5.2cm,
      scale only axis,
      scaled ticks = false,
      tick label style={/pgf/number format/fixed},
      xlabel={x-axis},
      ylabel={y-axis},
          unbounded coords=jump]
        ]
        \nextgroupplot [title={\it{Title 1}}]
\addplot[black, thick, mark=o, only marks]
    table[x=A,y=B]{mydata.dat};
\addplot[black, mark=x, only marks]
    table[x=C,y=D]{mydata2.dat};

        \nextgroupplot [title={\it{Title 2}}]
\addplot[black, thick, mark=o, only marks]
    table[x=C,y=D]{mydata2.dat};
         \end{groupplot}

    \end{tikzpicture}
    }
  \end{figure}




\end{document}

insira a descrição da imagem aqui

Gostaria de aprender como criar opções personalizadas do eixo x (personalizadas para cada gráfico individual no ambiente de gráfico de grupo) em vez de depender de rótulos comuns do eixo x em todo o espectro de gráficos no gráfico de grupo.

Responder1

Você pode usar

        xtick={1,...,5},
        xticklabels={A,B,C,D,E}

nas opções de \nextgroupplot. Mude xtick={1...,5},como desejar. Além disso, não use o comando \it{...}as \itis tex e ele não aceita argumentos. Use \itshapecomo eu fiz.

\documentclass[]{article}
    \usepackage{pgfplots, alphalph}
    \usepgfplotslibrary{groupplots}
\usepackage{filecontents}
 \begin{filecontents*}{mydata.dat}
A   B
1   3
2   4
3   1
4   7
5   8
  \end{filecontents*}
 \begin{filecontents*}{mydata2.dat}
C   D
1   7
2   5
3   4
4   6
5   7
\end{filecontents*}


\begin{document}

\begin{figure}
\makebox[\textwidth]{%
    \begin{tikzpicture}[font=\footnotesize\sffamily]
      \begin{groupplot}[
         group style={group size=2 by 1, vertical sep=70pt,
    ylabels at=edge left
    },
          view={0}{90},
          width=5.2cm,
          height=5.2cm,
      scale only axis,
      scaled ticks = false,
      tick label style={/pgf/number format/fixed},
      xlabel={x-axis},
      ylabel={y-axis},
          unbounded coords=jump]
        ]
        \nextgroupplot [title={\itshape Title 1},
            xtick={1,...,5},
            xticklabels={A,B,C,D,E}]
\addplot[black, thick, mark=o, only marks]
    table[x=A,y=B]{mydata.dat};
\addplot[black, mark=x, only marks]
    table[x=C,y=D]{mydata2.dat};

        \nextgroupplot [title={\itshape Title 2},
        xtick={1,...,5},
            xticklabels={F,G,H,I,S}]
\addplot[black, thick, mark=o, only marks]
    table[x=C,y=D]{mydata2.dat};
         \end{groupplot}

    \end{tikzpicture}
    }
  \end{figure}




\end{document}

insira a descrição da imagem aqui

Geralmente \nextgroupplotleva todas as opções tomadas pelo axisambiente. Portanto, você pode personalizar todos os seus x axisparâmetros aqui caso a caso.

informação relacionada