按字母顺序绘制 \coordindex

按字母顺序绘制 \coordindex

我需要按字母顺序替换图中的索引号。例如,在下图中,我希望看到 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}

相关内容