如何在标题中添加图例图像

如何在标题中添加图例图像

我有一个由 matlab 生成的图。如何像下图一样在标题中插入图例?

在此处输入图片描述

答案1

虽然我使用了pgfplots很多,但我通常避免直接在主文档中编译图像,因此我编写了一些小tikz宏来独立于实际文件完成这项工作pgfplots。这几乎是我的个人喜好,但您可以按照自己想要的方式进行自定义。

\documentclass{article}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{tikz}
\usetikzlibrary{plotmarks,positioning}
\usepackage{xparse}

\NewDocumentCommand{\Surface}{m}{%
    (%
    \tikz[baseline=-0.6ex,inner sep=0pt, outer xsep=0pt]{%
        \filldraw[#1,draw=black](0,-0.6ex) rectangle (4mm,0.6ex);%
    }%
    )%
}
\NewDocumentCommand{\Plot}{ m O{} }{%
    (%
    \tikz[baseline=-0.6ex,inner sep=0pt, outer xsep=0pt] {%
        \draw[line width=1pt,text height = \textheight,#1] plot coordinates {(0,0)} -- plot[#2,mark options={solid}, mark size=2pt] coordinates {(2mm,0)} -- plot coordinates {(4mm,0)};%
    }%
    )%
}


\begin{document}


\begin{figure}

    \centering
    \includegraphics{example-image-duck}
    \caption{This is a plot \Plot{blue,dotted}[mark=*], this is a surface \Surface{red}}
\end{figure}

\end{document}

在此处输入图片描述

答案2

如果图表是由 Matlab 生成的,您可以导出要用其绘制的数据文件pgfplots

例如,可以使用以下方法从 matlab 导出矩阵csvwrite

一旦有了数据文件,您就可以执行以下操作:

\begin{filecontents}{exported-from-matlab.dat}
1 1
2 2
3 3
4 4
\end{filecontents}
\documentclass{article}

\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
\begin{figure}[tb]
    \centering
    \begin{tikzpicture}
        \begin{axis}[]
            \addplot table {exported-from-matlab.dat}; \label{norm-dist}
        \end{axis}
    \end{tikzpicture}
    \caption{\ref{norm-dist} set of data}
    \end{figure}
\end{document}

在此处输入图片描述

相关内容