在此图例中,我希望第二个单词(“measured”、“measured”、“regression”、“regression”)排成一行,这样所有四个单词都从同一水平位置开始。如何实现?
如果有一个水平\smash
命令,我会尝试通过将第一个图例条目更改为来解决它\hphantom{\textsc{qt}}\hsmash{\textsc{pt}}, measured
。
\documentclass{memoir}
\usepackage{tikz,pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend entries={
{\textsc{pt}, measured},
{\textsc{qt}, measured},
{\textsc{pt}, regression},
{\textsc{qt}, regression}
},
legend cell align={left},
]
\addplot {x}; \addplot {x^2}; \addplot {x^3}; \addplot {x^4};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
您可以使用\makebox
来确保所有的pt
和qt
具有相同的宽度:
\documentclass{memoir}
\usepackage{tikz,pgfplots}
\newlength{\mylen}
\settowidth{\mylen}{\textsc{qt},}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend entries={
{\makebox[\mylen][l]{\textsc{pt},} measured},
{\makebox[\mylen][l]{\textsc{qt},} measured},
{\makebox[\mylen][l]{\textsc{pt},} regression},
{\makebox[\mylen][l]{\textsc{qt},} regression}
},
legend cell align={left},
]
\addplot {x}; \addplot {x^2}; \addplot {x^3}; \addplot {x^4};
\end{axis}
\end{tikzpicture}
\end{document}