pgfplots/pgfkeys 的问题:“我不知道键‘/tikz/use unit’”

pgfplots/pgfkeys 的问题:“我不知道键‘/tikz/use unit’”

问题简述: 我正在使用 pgfplots,但无法在标签中使用单位。我尝试了这个最小示例(来自http://pgfplots.sourceforge.net/gallery.html)并收到错误消息:

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10} 

\begin{document}

\begin{tikzpicture}
  \begin{axis}[use units,
    x unit=m,x unit prefix=k,
    y unit=N,y unit prefix=m,
    xlabel=Distance,ylabel=Force]
    \addplot coordinates {
        (1,2.3)
        (2,2.7)
        (3,2.1)
        (4,1.8)
        (5,1.5)
        (6,1.1)
    };
  \end{axis}
\end{tikzpicture}

\end{document}

错误如下:

Package pgfplots notification 'compat/show suggested version=true': document has been generated with the most recent feature set (\pgfplotsset{compat=1.10}).

! Package pgfkeys Error: I do not know the key '/tikz/use units' and I am going to ignore it. Perhaps you misspelled it.
See the pgfkeys package documentation for explanation. 
Type  H <return>  for immediate help.
 ...                                              

l.20   \end{axis}

背景: 我使用 Ubuntu 14.04,它自带 pgfplots 1.9。由于出现上述错误,我升级到了 1.10,上述输出的第一行显示它实际上使用的是 1.10。kpsewhich 也证实了这一点:

$ kpsewhich pgfplots
/home/simon/texmf/tex/plain/pgfplots/pgfplots.tex

我意识到我可以简单地手动将单位写入标签,但还有另一个问题。我想缩放 x 轴单位,因为我正在从文件导入数据。但 pgfkeys 也无法识别相应的命令。为了演示,来自 sourceforge pgfplots 库的另一个最小示例:

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10} 

\begin{document}

\begin{tikzpicture}
  \begin{axis}[change x base,
    x SI prefix=kilo,x unit=m,
    y SI prefix=milli,y unit=N,
    xlabel=Distance,ylabel=Force]
    \addplot coordinates {
        (1000,1)
        (2000,1.1)
        (3000,1.2)
        (4000,1.3)
    };
  \end{axis}
\end{tikzpicture}

\end{document}

给我:

Package pgfplots notification 'compat/show suggested version=true': document has been generated with the most recent feature set (\pgfplotsset{compat=1.10}).

! Package pgfkeys Error: I do not know the key '/tikz/change x base' and I am going to ignore it. Perhaps you misspelled it.

谢谢你的帮助!

答案1

尽管我仔细查阅了手册和其他示例,但我还是错过了一个库导入:

\usepgfplotslibrary{units}

现在它起作用了。非常感谢@percusse 在他的评论中指出了我的问题。

答案2

我在 Ubuntu 14.04 中遇到了同样的问题。我尝试在如下代码中使用 pgf/tikz:

    \begin{tikzpicture}
    \begin{scope}[blend group = soft light]
    \fill[red!30!white]   ( 90:1.2) circle (2);
    \fill[green!30!white] (210:1.2) circle (2);
    \fill[blue!30!white]  (330:1.2) circle (2);
    \end{scope}
    \node at ( 90:2)    {One};
    \node at ( 210:2)   {Two};
    \node at ( 330:2)   {Three};
    \node [font=\Large] {Four};
    \end{tikzpicture}

但是我在 texstudio 中收到以下错误消息:

Package pgfkeys Error: I do not know the key '/tikz/blend group' and I am going to ignore it. Perhaps you misspelled it. \begin{scope}[blend group = soft light]

显然 pgf 版本太旧了,我们需要更新它。我做了什么

  1. 已下载最新版本的 pgf
  2. 解压文件
  3. 在我的主文件夹中创建了一个文件夹 texmf
  4. 将解压后的文件夹中的 tex 文件夹复制到新的 texmf 文件夹中

问题解决了 :)

相关内容