我想在用 gnuplot 生成的图形上使用 tikz 环境来绘制图例。当我评论该部分时,我对结果很满意\node[anchor=center, text width=0.39cm, xshift=0cm, yshift=0cm] at (-6.0,1.0) {$sin(x)$};
。我的图形与 pdf 文档非常吻合,但没有图例(我不想用 gnuplot 创建图例)。
但是,这条线让我的图形移到了 pdf 的右侧。这导致图片左侧出现空白。当我将 移动\node
到 x 方向的不同负位置时,我意识到它的大小正在发生变化。我认为,我遗漏了 大小的一些琐碎信息\node
。还有想法吗?我应该使用\draw
而不是 吗\node
?
附言:我尝试将我的代码的 gnuplot 部分放入另一个代码中,\node
以确保所有内容都在同一个坐标系上,但这并没有帮助解决我的问题。
我目前的工作是;
\documentclass[12pt]{standalone}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{gnuplot-lua-tikz}
\usepackage[shell]{gnuplottex}
\thispagestyle{empty}
\begin{document}
\begin{tikzpicture}
\begin{gnuplot}[terminal=tikz,terminaloptions={size 14cm, 8cm}]
plot sin(x) w lines notitle
\end{gnuplot}
%I do not have any blank area without following line
\node[anchor=center, text width=0.39cm, xshift=0cm, yshift=0cm] at (-6.0,1.0) {$sin(x)$};
\end{tikzpicture}
\end{document}
结果左侧有一大片空白:
答案1
工作示例没有上述问题,使用@Andrew Swann 推荐的明确边界框;
\documentclass[12pt]{standalone}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{gnuplot-lua-tikz}
\usepackage[shell]{gnuplottex}
\thispagestyle{empty}
\begin{document}
\begin{tikzpicture}
\draw [draw=none,use as bounding box] (0cm,0cm) rectangle (14cm,8cm);{
\begin{gnuplot}[terminal=tikz,terminaloptions={size 14cm, 8cm}]
plot sin(x) w lines notitle
\end{gnuplot}
};
\node[draw=none, text width=1cm] at (-5.0,1.0) {$sin(x)$};
\end{tikzpicture}
\end{document}
还可以看看替代方法:剪裁