以文本作为 x 轴标签的基本条形图

以文本作为 x 轴标签的基本条形图

我正在尝试使用创建一个非常基本的条形图pgf图我需要四个表示百分比的条形图,并在下方添加文本作为标签X轴。文本标签包含空格、重音符号和非英文字符。

由于我用pgf图对于我论文中的所有其他图表,我想我也想试试这个。然而,由于这个图表使用非数字X值有点棘手。我试着从教科书上的例子开始,然后从那里开始。这是来自pgf图手册(第 210 页上的 4.20.1)我正在尝试使用:

\documentclass[12pt,a4paper,oneside]{article}

\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.3}

\begin{document}

\begin{tikzpicture}
\begin{axis}[symbolic x coords={a,b,c,d,e,f,g,h,i}]
\addplot+[smooth] coordinates {
(a,42)
(b,50)
(c,80)
(f,60)
(g,62)
(i,90)};
\end{axis}
\end{tikzpicture}

\end{document}

这段代码让我遇到了很多问题。首先,TeXmaker 在尝试编译时会挂起,我必须终止 pdflatex 进程才能重新启动它。当我这样做时,我收到以下错误消息:

!软件包 pgfkeys 错误:我不知道密钥“/pgfplots/compat”,我将忽略它。也许您拼错了。

!PGF 软件包数学错误:无法将输入“a”解析为浮点数,抱歉。无法读取的部分位于“a”附近。

如果有人能告诉我我做错了什么,我将不胜感激。我正在使用最新版本的 Ubuntu 和 TeX Live (2009-10)。我已经使用它们一年左右了,到目前为止从未遇到过挂起问题。

我们也欢迎并感谢任何关于其他解决方案的建议(最好没有任何外部程序)。谢谢。

答案1

Ubuntu 10.10 中包含的版本pgfplots是 1.2.2。显然,您使用的功能是在 1.2.2 和 1.4.1 版本(即当前版本)之间添加的。

除非有人想出在 pgfplot 1.2 中添加文本坐标的解决方法,否则对您来说最简单的选择可能是升级到 TeX Live 2010。手动安装并不太难,您将获得所有最新版本。自 Ubuntu 中包含的 TeX Live 版本以来,PGF 相关软件包发生了很大变化。此外,您可以tlmgr update --self --all随时运行以更新您的 TeX 安装。


这是 1.4 版的概念验证(我不太了解pgfplots,所以可能有更好的方法来做到这一点):

\documentclass{article}
\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
    symbolic x coords={a small bar,a medium bar,a large bar},
    xtick=data]
    \addplot[ybar,fill=blue] coordinates {
        (a small bar,42)
        (a medium bar,50)
        (a large bar,80)
    };
\end{axis}
\end{tikzpicture}

\end{document}

例子

答案2

附注:将 pgfplots 更新到 1.4.1(在 Ubuntu Natty 上,texlive 2009)同时保持其余软件包不变,并没有解决这个问题。安装一个完全独立的 texlive 2010 确实解决了这个问题。我首先尝试了“偷懒”的方法……所以,对于所有其他懒惰的人来说:不需要尝试这个,按照 Caramdir 的建议采用正确的解决方案。顺便说一句……谢谢。

相关内容