![与 \addplot 相比,节点中的 \usetikzlibrary{plotmarks} 标记发生了偏移](https://linux22.com/image/316323/%E4%B8%8E%20%5Caddplot%20%E7%9B%B8%E6%AF%94%EF%BC%8C%E8%8A%82%E7%82%B9%E4%B8%AD%E7%9A%84%20%5Cusetikzlibrary%7Bplotmarks%7D%20%E6%A0%87%E8%AE%B0%E5%8F%91%E7%94%9F%E4%BA%86%E5%81%8F%E7%A7%BB%20.png)
梅威瑟:
\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}