Plote o \coordindex em ordem alfabética

Plote o \coordindex em ordem alfabética

Preciso substituir os números de índice no gráfico por sequência alfabética. Por exemplo, no gráfico a seguir, em vez de 0,1,2,..., quero ver a,b,c,...

\documentclass{standalone}
% This file is an extract of the PGFPLOTS manual, copyright by Christian Feuersaenger.
%   http://pgfplots.sourceforge.net/pgfplots.pdf
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\pagestyle{empty}
\usepgfplotslibrary{patchplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}[view/h=120,xlabel=$x$,ylabel=$y$]

% replicate the vertex list to show \coordindex:

\addplot[only marks,nodes near coords={\coordindex}]
coordinates {(1,1) (2,2) (3,1)};

\addplot [red,mark=square] coordinates {(1,1) (2,2) (3,1)};

\end{axis}
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Minha ideia é substituir \coordindexpela soma do \coordindexcódigo ascii de "a" 97. Mas não sei como implementar isso.

Responder1

Talvez exista uma maneira mais fácil, mas você poderia usar um contador:

insira a descrição da imagem aqui

Se desejar rótulos em maiúsculas, você pode usar \Alph{}em vez de \alph{}.

Código:

\documentclass{standalone}
% This file is an extract of the PGFPLOTS manual, copyright by Christian Feuersaenger.
%   http://pgfplots.sourceforge.net/pgfplots.pdf
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\pagestyle{empty}
\usepgfplotslibrary{patchplots}

\newcounter{LabelCounter}
\newcommand{\Letter}[1]{\setcounter{LabelCounter}{\numexpr#1+1\relax}\alph{LabelCounter}}%
\begin{document}
\begin{tikzpicture}
\begin{axis}[view/h=120,xlabel=$x$,ylabel=$y$]

% replicate the vertex list to show \coordindex:

\addplot[only marks,nodes near coords={\Letter{\coordindex}}]
coordinates {(1,1) (2,2) (3,1)};

\addplot [red,mark=square] coordinates {(1,1) (2,2) (3,1)};

\end{axis}
\end{tikzpicture}
\end{document}

informação relacionada