
Así que saqué este ejemplo directamente del manual pgfplots
porque 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 BPChem
como etiquetas, así que, como prueba, lo reemplacé primero symbolic x coord
con 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 coords
enfoque, sino usar \coordindex
como 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}