如何在 tikzpicture 环境之外重用 PGFPlots 的 plotmark 样式?

如何在 tikzpicture 环境之外重用 PGFPlots 的 plotmark 样式?

在图片标题或正文中,我想重复使用图例中的绘图标记样式或线条和符号的组合。由于我没有找到重复使用图例图像的命令,我尝试使用相同的属性绘制绘图标记,但似乎必须更改语法?

我心里想的一个例子: 在此处输入图片描述

对应代码:\documentclass{article}

    \usepackage{tikz,pgfplots}
    \pgfplotsset{compat=1.7} 
    \usetikzlibrary{plotmarks} 

    \begin{document}

    \begin{tikzpicture}
    \begin{axis}[legend style={at={(0.03,0.97)},anchor=north west},] 

    \addplot+[blue,
                        mark options={solid,fill=.!30!white},
                        mark=*,] 
                        coordinates {(1,1) (2,3) (3,5)};
                        \addlegendentry{$H \parallel c$};
    \end{axis}
    \end{tikzpicture} 

    Reusing plot mark style in figure caption does not work:
    \tikz[baseline=-0.5ex]\node[blue,mark options={solid,fill=.!30!white}] at (0,0) {\pgfuseplotmark{*}};
    \end{document}

有没有什么方法可以轻松地重新绘制图例图像或 pgfplot 轴之外的绘图标记?

答案1

这就是PGFPlots 的功能所在:您可以在图例中想要显示的图表后添加\label,然后在想要显示图例图像的地方使用:\ref\label{<label name>}\ref{<label name>}

\documentclass{article}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=1.7} 
\usetikzlibrary{plotmarks} 

\begin{document}

\begin{tikzpicture}
\begin{axis}[legend style={at={(0.03,0.97)},anchor=north west},] 

\addplot+[blue,
                    mark options={solid,fill=.!30!white},
                    mark=*,] 
                    coordinates {(1,1) (2,3) (3,5)};
                    \addlegendentry{$H \parallel c$};
                    \label{firstplot}
\end{axis}
\end{tikzpicture} 

Reusing plot mark style in figure caption does not work:
\ref{firstplot}
\end{document}

相关内容