在 tikzpicture 中使用“图例命名”会生成额外的 pdf 页面

在 tikzpicture 中使用“图例命名”会生成额外的 pdf 页面

我使用 tikz 绘制图表,只想在我的图表之外放置一个图例,然后将图片转换为单个 pdf 以将其包含在我的 Tex 文档中。

(而不是将 tikz 文件输入到我的 Tex 文档中。)

我有这个最小的例子:

\documentclass{article}
\usepackage{tikz}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\newlength\figureheight
\newlength\figurewidth
\setlength\figureheight{2cm}
\setlength\figurewidth{5cm}
\begin{document}
\ref{named}
\begin{tikzpicture}
\begin{axis}[
width=\figurewidth,
height=\figureheight,
scale only axis,
xmin=0,
xmax=5,
xmajorgrids,
xlabel={x},
ymin=0,
ymax=9,
ylabel={y},
ymajorgrids,
legend style={draw=black,fill=white,legend cell align=left, legend columns=1},
legend to name=named
]
\addplot [
color=red,
line width=1.0pt
]
table[row sep=crcr]{
0 1\\
1 2\\
2 3\\
3 4\\
4 1\\
5 6\\
};
\addlegendentry{example};
\end{axis}
\end{tikzpicture}
\end{document}

enter image description here

enter image description here

enter image description here

(图例实际上位于中央。)

我需要的只是一页带有图例的 pdf 页面,但我得到的却是三页。该如何解决?

答案1

(我实际上没有得到最后一页空白页。)

您可以将图例放在里面nodetikzpicture即添加

\node [above] at (current bounding box.north) {\ref{named}};

紧接着\end{axis}

enter image description here

\documentclass{article}
\usepackage{pgfplots}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\pgfplotsset{compat=newest}
\newlength\figureheight
\newlength\figurewidth
\setlength\figureheight{2cm}
\setlength\figurewidth{5cm}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
width=\figurewidth,
height=\figureheight,
scale only axis,
xmin=0,
xmax=5,
xmajorgrids,
xlabel={x},
ymin=0,
ymax=9,
ylabel={y},
ymajorgrids,
legend style={draw=black,fill=white,legend cell align=left, legend columns=1},
legend to name=named
]
\addplot [
color=red,
line width=1.0pt
]
table[row sep=crcr]{
0 1\\
1 2\\
2 3\\
3 4\\
4 1\\
5 6\\
};
\addlegendentry{example};
\end{axis}
\node [above] at (current bounding box.north) {\ref{named}};
\end{tikzpicture}
\end{document}

相关内容