在标题中创建 Tikz 图例

在标题中创建 Tikz 图例

我在图像标题中创建图例时遇到了一些问题。我使用 matlab2tikz 制作了很多图表,并将它们外部化以减少编译时间和内存使用量。因此,我无法\label在代码中使用任何 s。因此,我在其下方立即制作了一个 TikZ 图,并在标题中使用这些线条样式。MWE 显示如下:

\begin{tikzpicture}
\begin{axis}[hide axis]
\addplot [color=red,solid,forget plot]
(0,0);\label{hwplot1}
\addplot[color=brown,solid,mark=o,mark options={solid},forget plot]
(0,0);\label{Blomhoff}
\end{axis}
\end{tikzpicture}

然后我在标题中调用标签,一切正常。出现的问题是,我在 TikZ 定义的 (0,0) 处得到一个棕色点,这是标记,我找不到办法摆脱它。有什么办法可以做到这一点吗?或者有另一种方法可以将图例放在允许外部化的标题中?
提前致谢

答案1

也许自从您提出这个问题以来,PGFPlots 中发生了一些变化,但今天您只需\ref \labeled \addplots 即可获得所需的输出。

这里我只写了一个虚拟标题,我在其中\ref添加了标签。希望这能回答你的问题,因为我不能 100% 确定我理解得正确。

% used PGFPlots v1.14
\documentclass[border=5pt,varwidth]{standalone}
\usepackage{pgfplots}
    \usetikzlibrary{
        pgfplots.external,
    }
    \tikzexternalize[
        % prevent externalization of none named figures/plots
        % (that means that in this case the `\ref's will not be externalized)
        only named=true,
    ]
\begin{document}
    \tikzsetnextfilename{just_a_test}
    \begin{tikzpicture}
        \begin{axis}
            \addplot coordinates {(0,0) (1,1)};
                \label{hwplot1}
            \addplot+ [color=green,solid,mark=o,mark options={solid},dashed]
                coordinates {(0.1,0) (1.1,1)};
                \label{Blomhoff}
        \end{axis}
    \end{tikzpicture}

    Figure~1: This is a test plot only, where \ref{hwplot1} shows a blue line
    and \ref{Blomhoff} shows a green line
\end{document}

该图显示了上述代码的结果

相关内容