我对使用 LaTeX 还很陌生,最近才参加了一门关于如何使用它的课程,现在我必须编写代码才能通过这门课程。
无论如何,我第一次尝试制作条形图时遇到了问题。一切都很顺利,直到我插入了选项nodes near coords
。我现在收到错误消息:(尽管 pdf 图片看起来正确)
line 20: Undefined control sequence. \end{axis}
line 20: Argument of \XC@definec@lor has an extra }. \end{axis}
line 20: Paragraph ended before \XC@definec@lor was complete. \end{axis}
以下是我目前编写的代码:
\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{german}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
title={\textbf{Wie findest du den Englischunterricht?}},
ybar,
ymin={0},
symbolic x coords={sehr gut, gut, mittelmässig, schlecht, sehr schlecht, keine/\\ungültige\\Antwort},
width={12.58cm},
height={7cm},
xticklabel style={align=center},
xtick=data,
nodes near coords
]
\addplot coordinates {(sehr gut,53) (gut,35) (mittelmässig,7) (schlecht,0) (sehr schlecht,0) (keine/\\ungültige\\Antwort,3)};
\end{axis}
\end{tikzpicture}
\end{document}
我正在使用 XeLaTeX、TeXStudio 以及代码中所示的 pgfplots 版本 1.16。
那么:为什么我会收到这些错误消息以及如何修复这些错误?
谢谢你的帮助:)
答案1
存在扩展问题。我建议最好完全避免这些问题,而\\
不是玩弄诸如此类的东西。\noexpand
\expandafter
\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{german}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
title={\textbf{Wie findest du den Englischunterricht?}},
ybar,
ymin={0},
symbolic x coords={sehr gut, gut, mittelmässig, schlecht, sehr schlecht,
keine/ ungültige Antwort
},
x tick label style={text width=1.5cm},
width={12.58cm},
height={7cm},
xticklabel style={align=center},
xtick=data,
nodes near coords
]
\addplot coordinates {(sehr gut,53) (gut,35) (mittelmässig,7) (schlecht,0)
(sehr schlecht,0) (keine/ ungültige Antwort,3)}; %(keine/\\ungültige\\Antwort,3)
\end{axis}
\end{tikzpicture}
\end{document}