与 \addplot 相比,节点中的 \usetikzlibrary{plotmarks} 标记发生了偏移

与 \addplot 相比,节点中的 \usetikzlibrary{plotmarks} 标记发生了偏移

梅威瑟:

\documentclass[]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\usetikzlibrary{plotmarks}
\begin{document}
\begin{tikzpicture}
\begin{axis}
  \addplot[mark=*] coordinates
  {(0,0)};
  \node[blue] at (0,0) {\pgfuseplotmark{*}};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}
  \addplot[mark=pentagon*] coordinates
{(0,0)};
\node[red] at (0,0) {\pgfuseplotmark{pentagon*}};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

正如您在第一张图片中看到的,两个标记位于同一位置,但第二张图片中的位置不同。我该怎么做才能使标记在节点中的位置与绘制的标记相同\addplot

更新:日志文件中的版本号:

Package: pgfplots 2015/05/02 v1.12.1 Data Visualization (1.12.1)
Package: pgf 2013/12/18 v3.0.0 (rcs-revision 1.14)
File: pgflibraryplotmarks.code.tex 2013/07/20 v3.0.0 (rcs-revision 1.13)

其他问题(这或多或少是重复的):

答案1

这是因为 PGF 中的绘图标记是为在绘图指令中使用而准备的。它们不是为在文本模式下使用而准备的。

如果要在文本模式下使用绘图指令,则必须用图片包围它们,例如如下

\documentclass[]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\usetikzlibrary{plotmarks}
\begin{document}
\begin{tikzpicture}
\begin{axis}
  \addplot[mark=pentagon*] coordinates
{(0,0)};
\node[red] at (0,0) {\tikz \pgfextra{\pgfuseplotmark{pentagon*}};};
\end{axis}
\end{tikzpicture}
\end{document}

相关内容