我在 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}