pgfplots 中图例的位置

pgfplots 中图例的位置

我想在我的图上方创建一个“文本框”。

现在我正在使用legend style=...

这是我得到的结果: 在此处输入图片描述

我希望图上方的文本(10 kHz,X=....)居中,宽度与图相同,而不是在左侧对齐。在下面的代码中,我替换了我的调查数据并导入,filecontents以完成示例:

\begin{filecontents*}{data.txt}
b c
1 2
2 4
3 6
4 8
5 10
6 12
7 14
8 16
9 18
10 20
\end{filecontents*}
\documentclass[paper=a4,ngerman,xcolor=dvipsnames]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[]{pgfplots}
\pgfplotsset{compat=1.14}
\usepackage{siunitx}
\usepackage{caption}
\usepackage{graphicx}
\usepackage{lipsum}

\pgfplotscreateplotcyclelist{mycolorlist}{
blue!01!green,every mark/.append style={fill=blue!10!black},mark=+
}

\begin{document}
    \begin{figure}
    \begin{tikzpicture}
        \begin{axis}[
        grid=both,
        width=12cm, 
        height=9cm,
        xtick pos=left,
        ytick pos=left,
        legend style={draw,fill=none,name=legend,label=above :
{\textcolor{red}{\textbf{x}}\,=\,100\,kHz,
\textcolor{red}{\textbf{x}}\,=\,10\,kHz,
\textcolor{red}{\textbf{x}}\,=\,1\,kHz,
\textcolor{red}{\textbf{x}}\,=\,100\,Hz,
\textcolor{red}{\textbf{x}}\,=\,10\,Hz,
\textcolor{red}{\textbf{x}}\,=\,1\,Hz}},
        xlabel={R}, ylabel={Z}, 
        legend style={at={(0.02,0.98)},anchor=north west,cells={anchor=west}},
        legend style={font=\footnotesize},
        cycle list name=mycolorlist,
        ]
        \addplot table [x=b,y=c]{data.txt};

        \legend{Z}
        \end{axis}

    \end{tikzpicture}
    \end{figure}
    \end{document}

答案1

听起来你只是想title=...在图例中添加标签。

此外,既然您已经在加载siunitx,为什么不使用它来排版这些频率呢?

在此处输入图片描述

\begin{filecontents*}{data.txt}
b c
1 2
2 4
3 6
4 8
5 10
6 12
7 14
8 16
9 18
10 20
\end{filecontents*}
\documentclass[paper=a4,ngerman,xcolor=dvipsnames]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\usepackage{siunitx}
\usepackage{caption}
\usepackage{graphicx}
\usepackage{lipsum}

\pgfplotscreateplotcyclelist{mycolorlist}{
blue!01!green,every mark/.append style={fill=blue!10!black},mark=+
}

\begin{document}
\begin{figure}
  \begin{tikzpicture}
    \begin{axis}[
        grid=both,
        width=12cm, 
        height=9cm,
        xtick pos=left,
        ytick pos=left,
        legend style={draw,fill=none,name=legend},
        title={%
            ${\color{red}\mathbf{x}}=\SI{100}{\kilo\Hz}$,
            ${\color{red}\mathbf{x}}=\SI{10}{\kilo\Hz}$,
            ${\color{red}\mathbf{x}}=\SI{1}{\kilo\Hz}$,
            ${\color{red}\mathbf{x}}=\SI{100}{\Hz}$,
            ${\color{red}\mathbf{x}}=\SI{10}{\Hz}$,
            ${\color{red}\mathbf{x}}=\SI{1}{\Hz}$},
        xlabel={R}, ylabel={Z}, 
        legend style={at={(0.02,0.98)},anchor=north west,cells={anchor=west}},
        legend style={font=\footnotesize},
        cycle list name=mycolorlist,
        ]
        \addplot table [x=b,y=c]{data.txt};

        \legend{Z}
   \end{axis}
  \end{tikzpicture}
\end{figure}
\end{document}

相关内容