如果这个问题已经得到解答,我深感抱歉,我尝试搜索答案(在此网站上以及谷歌上),但找不到任何答案。可能是我没有使用正确的关键字。
问题如下:我想将 pgfplot 垂直居中并带有外部标签,但似乎无法完成。
考虑一下这段代码:
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\begin{center}
\begin{tikzpicture}
\begin{axis}[
title={My Title},
xmin=0, xmax=1,
ymin=0, ymax=1,
width=\textwidth,
height=0.61\textwidth,
legend entries={{long legend entry for sin(x)}, {long legend entry for cos(x)}, {long legend entry for tan(x)}},
legend pos = outer north east
]
\addplot [semithick, blue, mark=*, mark size=1, mark repeat=1, mark options={solid}]
table {%
0.0 0.0
0.1 0.0998334166468
0.2 0.198669330795
0.3 0.295520206661
0.4 0.389418342309
0.5 0.479425538604
0.6 0.564642473395
0.7 0.644217687238
0.8 0.7173560909
0.9 0.783326909627
1.0 0.841470984808
};
\addplot [semithick, black, mark=*, mark size=1, mark repeat=1, mark options={solid}]
table {%
0.0 1.0
0.1 0.995004165278
0.2 0.980066577841
0.3 0.955336489126
0.4 0.921060994003
0.5 0.87758256189
0.6 0.82533561491
0.7 0.764842187284
0.8 0.696706709347
0.9 0.621609968271
1.0 0.540302305868
};
\addplot [semithick, red, mark=*, mark size=1, mark repeat=1, mark options={solid}]
table {%
0.0 0.0
0.1 0.100334672085
0.2 0.202710035509
0.3 0.30933624961
0.4 0.422793218738
0.5 0.546302489844
0.6 0.684136808342
0.7 0.842288380463
0.8 1.02963855705
0.9 1.26015821755
1.0 1.55740772465
};
\end{axis}
\end{tikzpicture}
\end{center}
\end{figure}
\end{document}
我本以为整个图形应该位于页面的中心,但阴谋居中,图例位于右侧(图中的情节标题也是如此,同样位于情节的中心):
为什么会发生这种情况?我忽略了什么?
答案1
正如 Zarko 和 Andrew Swann 在他们的评论中所说,通过关键字width
和height
控制图的尺寸仅有的,不包括图例。要使图形居中,width
应足够小以容纳图形和图例适合页面宽度。
编辑:正如 Torbjørn T. 指出的那样,只有当图例宽度超过 45 点时,情况才如此(请参阅下面的评论)