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}
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 \it
is tex e ele não aceita argumentos. Use \itshape
como 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}
Geralmente \nextgroupplot
leva todas as opções tomadas pelo axis
ambiente. Portanto, você pode personalizar todos os seus x axis
parâmetros aqui caso a caso.