將圖例放在兩個相鄰的 TikZ 圖下方

將圖例放在兩個相鄰的 TikZ 圖下方

我在 tikz 中有兩個相鄰的圖表,它們由表格分隔。

每個圖表顯示三條線,並且兩個圖表中的線都是相同類型的。所以我想要一個共同的傳奇,而不是他們每個人的傳奇。

如何在兩個圖形下方新增居中且水平的圖例?

我在堆疊上看到了幾個答案: 如何將圖例放在圖表下方? 然而,這將圖例放在圖表下方,我有兩個圖表,它應該放在它們下方的中心並且水平放置。

基本上,我想要的只是一個以下形式的盒子:

------------------------------------------------------------------------------------
| <line1> Legend description <line2> Legend description <line3> Legend description |
------------------------------------------------------------------------------------

<line>線條的風格在哪裡。此框應位於兩個圖表下方的中心。

這是程式碼,刪除了實際的繪圖和其他一些東西以保持匿名:

begin{figure}[!hbt]
\centering
\begin{tabular}{ll}
\resizebox{175pt}{!}{%
\begin{tikzpicture}
  \begin{axis}[
    xlabel=x,
    ylabel=y,
    grid=both,
    grid style={line width=.1pt, draw=gray!10},
    major grid style={line width=.2pt,draw=gray!50},
    axis lines=middle,
    minor tick num=5,]
    \addplot coordinates {};
    \addplot coordinates {};
    \addplot coordinates {};
  \end{axis}
\end{tikzpicture}
}
&
\resizebox{200pt}{!}{%
\begin{tikzpicture}
  \begin{axis}[
    xlabel=x,
    ylabel=y,
    grid=both,
    grid style={line width=.1pt, draw=gray!10},
    major grid style={line width=.2pt,draw=gray!50},
    axis lines=middle,
    minor tick num=5,]
    \addplot coordinates {};
    \addplot coordinates {};
    \addplot coordinates {};
  \end{axis}
\end{tikzpicture}
}
\end{tabular}

\caption{}
\label{}
\end{figure}

答案1

你可以使用legend to name鑰匙來得到你想要的東西。它記錄在 pgfplots 手冊第 265 頁的 4.9.7 節。

以下範例摘自手冊:

\begin{center}% note that \centering uses less vspace...
    \begin{tikzpicture}
        \begin{axis}[
            legend columns=-1,
            legend entries={$(x+0)^k$;,$(x+1)^k$;,$(x+2)^k$;,$(x+3)^k$},
            legend to name=named,
            title={$k=1$},
        ]
            \addplot {x};
            \addplot {x+1};
            \addplot {x+2};
            \addplot {x+3};
        \end{axis}
    \end{tikzpicture}

    \begin{tikzpicture}
        \begin{axis}[
            title={$k=2$}
        ]
            \addplot {x^2};
            \addplot {(x+1)^2};
            \addplot {(x+2)^2};
            \addplot {(x+3)^2};
        \end{axis}
    \end{tikzpicture}

    \begin{tikzpicture}
        \begin{axis}[
            title={$k=3$}
        ]
            \addplot {x^3};
            \addplot {(x+1)^3};
            \addplot {(x+2)^3};
            \addplot {(x+3)^3};
        \end{axis}
    \end{tikzpicture}
    \\

    \ref{named}
\end{center}

相關內容