Мне нужно заменить индексные числа на графике на алфавитную последовательность. Например, на следующем графике вместо 0,1,2,... я хочу видеть 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}
Моя идея состоит в том, чтобы заменить \coordindex
на сумму \coordindex
кода «a» и ASCII 97. Но я не знаю, как это реализовать.
решение1
Возможно, есть более простой способ, но вы можете воспользоваться счетчиком:
Если вам нужны метки в верхнем регистре, вы можете использовать \Alph{}
вместо \alph{}
.
Код:
\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}