我需要按字母顺序替换图中的索引号。例如,在下图中,我希望看到 a、b、c、......,而不是 0、1、2、......
\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}
我的想法是用“a”的ascii码\coordindex
之\coordindex
和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}