Utilice la numeración BPchem como etiquetas en un lote PGFP

Utilice la numeración BPchem como etiquetas en un lote PGFP

Así que saqué este ejemplo directamente del manual pgfplotsporque parece muy complejo. El gráfico es exactamente lo que quiero tener, excepto que en lugar de las etiquetas personalizadas que proporcionó, quiero poder insertar la numeración compuesta BPChemcomo etiquetas, así que, como prueba, lo reemplacé primero symbolic x coordcon mi propia referencia numérica. No hace falta decir que no funciona :(

\documentclass[12pt, letterpaper]{article}
\usepackage{pgfplots}
\usepackage{bpchem}
\begin{document}

\CNlabelsubnoref{cmp1}{a}
\begin{tikzpicture}
    \begin{axis}[
        ybar,
        enlargelimits=0.15,
        legend style={at={(0.5,-0.2)},
        anchor=north,legend columns=-1},
        ylabel={\#participants},
        symbolic x coords={\CNrefsub{cmp1}{a},good,neutral,%
        not good,poor},
        xtick=data,
        nodes near coords,
        nodes near coords align={vertical},
        x tick label style={rotate=45,anchor=east},
        ]
        \addplot coordinates {(\CNrefsub{cmp1}{a},0) (good,8)
        (neutral,2) (not good,0) (poor,0)};
    \end{axis}
\end{tikzpicture}

\end{document}

La compilación de pdflatex nunca termina, pero el archivo pdf contiene esto...

pgfplots [ybar, enlargelimits=0.15, estilo de leyenda=at=(0.5,-0.2), ancla=norte, columnas de leyenda=-1, ylabel=#participantes, coordenadas x simbólicas=?? ,bueno,neutral,no bueno,malo, xtick=datos, nodos cerca de coordenadas, nodos cerca de coordenadas align=vertical, estilo de etiqueta de marca x=rotar=45,ancla=este, ] coordenadas (?? ,0) (bueno,8 ) (neutral,2) (no bueno,0) (malo,0); 1

Si detengo pdflatex, aparece los siguientes errores en mi consola:

! Missing \endcsname inserted.
<to be read again>
\protect
l.20 ]
The control sequence marked <to be read again> should
not appear between \csname and \endcsname.
Missing character: There is no a in font nullfont!
! Extra \endcsname.
\pgfplotsarray@glob@TMP ...ts@loc@TMPa \endcsname
Process exited with error(s)

¿Alguna posibilidad de que esto sea algo que se pueda solucionar?

Respuesta1

Sugeriría no usar este symbolic x coordsenfoque, sino usar \coordindexcomo coordenada x y proporcionar las etiquetas de marca x usando xticklabels={\CNrefsub{cmp1}{a}, good, neutral, not good, bad}.

\documentclass[12pt, letterpaper]{article}
\usepackage{pgfplots}
\usepackage{bpchem}
\begin{document}

\CNlabelsubnoref{cmp1}{a}
\begin{tikzpicture}
    \begin{axis}[
        ybar,
        enlargelimits=0.15,
        legend style={at={(0.5,-0.2)},
        anchor=north,legend columns=-1},
        ylabel={\#participants},
        xtick=data,
        nodes near coords,
        nodes near coords align={vertical},
        x tick label style={rotate=45,anchor=east},
        xticklabels={\CNrefsub{cmp1}{a}, good, neutral, not good, bad}
        ]
        \addplot table [
            x expr=\coordindex, % Use the row number as x coordinate
            header=false    % Do not assume the first row to contain column names
        ] {
        cmp     0
        good    8
        neutral 2
        notgood 0
        bad     0
        };
    \end{axis}
\end{tikzpicture}

\end{document}

información relacionada