\coordindexをアルファベット順にプロットする

\coordindexをアルファベット順にプロットする

プロット内のインデックス番号をアルファベット順に置き換える必要があります。たとえば、次のグラフでは、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私のアイデアは、"a" 97 の と ASCII コードの合計に置き換えることです\coordindex。しかし、これをどのように実装するかはわかりません。

答え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}

関連情報