如果存在的话,最正确的方法是什么,即在轴标题周围绘制一个具有 100% 不透明度的矩形?
MWE 可能是
\begin{tikzpicture}
\begin{axis}[title=put me in a rectangle,
xlabel=Cost,
ylabel=Error]
\addplot[color=red,mark=x] coordinates {
(2,-2.8559703)
(3,-3.5301677)
(4,-4.3050655)
(5,-5.1413136)
(6,-6.0322865)
(7,-6.9675052)
(8,-7.9377747)
};
\end{axis}
\end{tikzpicture}
我感兴趣的是,我必须将标题放在画布内(包含两个网格)以减少浪费的空间。
谢谢 :)
答案1
正如 percusse 在他的评论中提到的那样:定义标题样式,在其中定义节点填充颜色和代码的位置。例如:
\documentclass[border=3mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
title style={fill=yellow!30,
below=1em},
title style={fill=yellow!30,
below=1em},
title=put me in a rectangle,
xlabel=Cost,
ylabel=Error]
\addplot[color=red,mark=x] coordinates {
(2,-2.8559703)
(3,-3.5301677)
(4,-4.3050655)
(5,-5.1413136)
(6,-6.0322865)
(7,-6.9675052)
(8,-7.9377747)
};
\end{axis}
\end{tikzpicture}
\end{document}
这使:
编辑: 正如 Enrico 在他的评论中提到的,标题风格的更好定义是
title style={draw=gray, very thick, fill=white, anchor=north east,
at={(rel axis cs:.95,.9)}},
它与at={(rel axis cs:.95,.9)}
并anchor=north east
准确确定标题框在图表中的位置。还确定他喜欢的标题框设计。它在上面的 MWE 中的使用,而不是我的(粗鲁的)建议,给出: