我正在尝试使用 tikz 绘制条形图。我很难在条形图上方放置数字。我使用“坐标附近的节点”选项,但总是出现“未定义的控制序列”错误。
我知道,关于这个问题已经有好几个帖子了,但是没有一个解决方案对我有用。我在数学模式下使用“符号 x 坐标”作为 x 刻度。我假设这就是问题所在,因为如果我删除数学模式,就不会出现任何错误。这是我的 MWE:
\documentclass[border=0.2cm]{standalone}
% Bar chart drawing library
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ymajorgrids=true,
grid style=dashed,
ybar,
x label style={at={(axis description cs:0.5,-0.2)},anchor=north},
symbolic x coords={$\mathit{test}$,$\mathit{test}\_2$,$\mathit{test}\_3$},
xtick=data,
xticklabel style={rotate=-45, anchor=north west},
xlabel={Number of children},
ylabel={Number},
xticklabel style = {font=\small},
nodes near coords
]
\addplot coordinates {
($\mathit{test}$,8506)
($\mathit{test}\_2$,1429)
($\mathit{test}\_3$,4)
};
\end{axis}
\end{tikzpicture}
\end{document}
Overleaf 实际上编译并输出了正确的图形,但有错误......它看起来像这样:
如果有人能帮助我消除错误,我将不胜感激......这是我的论文。
谢谢 :D
编辑:显然 \mathit{} 导致了问题……但我需要使用它 -_-
答案1
我发现了一个解决方案!!!!!! :D
代替 ”符号 x 坐标“,我用的是”刻度“ 和 ”标记标签“选项!与 \mathit 配合使用
这里是代码:
\documentclass[border=0.2cm]{standalone}
% Bar chart drawing library
\usepackage{pgfplots}
\usepackage{amsmath}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ymajorgrids=true,
grid style=dashed,
ybar,
x label style={at={(axis description cs:0.5,-0.2)},anchor=north},
xtick={1,3},xticklabels={$\mathit{test}$,$\mathit{test}\_2$, $\mathit{test}\_3$},
xtick=data,
xticklabel style={rotate=-45, anchor=north west},
xlabel={Number of children},
ylabel={Number},
xticklabel style = {font=\small},
nodes near coords
]
\addplot coordinates {
(1,8506)
(2,1429)
(3,4)
};
\end{axis}
\end{tikzpicture}
\end{document}
我希望这个答案对将来的某人有用哈哈;)
答案2
嗯,不知道你从哪里获得 x 坐标的数据,但至少,这是你需要遵循的形式:
\documentclass[border=0.2cm]{standalone}
% Bar chart drawing library
\usepackage{pgfplots}
%\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot
% [ybar] % remove comment to draw as ybar-chart
coordinates {
(0,8506)
(1,1429)
(2,4)
};
\end{axis}
\end{tikzpicture}
\end{document}
建议:逐渐增加额外内容,并时不时进行控制运行。采取小步骤可帮助您在可识别的地方尽早失败 ;-)
结果:
附言:另请参阅 pgfplots-manual,例如此处: