
Então, peguei esse exemplo direto do manual pgfplots
, porque parece altamente complexo. O gráfico é exatamente o que eu quero ter, exceto que, em vez dos rótulos personalizados fornecidos, quero poder inserir a numeração composta BPChem
como os rótulos, então, como teste, substituí-o primeiro symbolic x coord
pela minha própria referência numérica. Escusado será dizer que não 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}
A compilação do pdflatex nunca termina, mas o arquivo pdf contém isso...
pgfplots [ ybar, enlargelimits = 0,15, estilo de legenda = em = (0,5, -0,2), âncora = norte, colunas de legenda = -1, ylabel = # participantes, coordenadas x simbólicas = ?? ,bom,neutro,não bom,ruim, xtick = dados, nós próximos às coordenadas, nós próximos às coordenadas alinhar = vertical, x tick estilo do rótulo = girar = 45, âncora = leste,] coordenadas (??, 0) (bom, 8 ) (neutro,2) (não bom,0) (ruim,0); 1
Se eu parar o pdflatex, recebo os seguintes erros no meu console:
! 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)
Alguma chance de isso ser algo que pode ser contornado?
Responder1
Eu sugeriria não usar a symbolic x coords
abordagem, mas em vez disso usar a \coordindex
coordenada x e fornecer os rótulos x tick 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}