如何在 Octave 中设置大小,并使用 Gnuplot 来绘制 Octave 中的图形?

如何在 Octave 中设置大小,并使用 Gnuplot 来绘制 Octave 中的图形?

我使用 Octave 进行所有计算和绘图。通过告诉 Octave

graphics_toolkit gnuplot

我可以通过以下方式创建 *.tex 文档

print -dtikz filename.tex

然后我可以用它

\input{filename}

结合

\usepackage{gnuplot-lua-tikz}
\usepackage{graphicx}
\usepackage{pgfsys}
\usepackage{keyval}
\usepackage{xcolor}
\usepackage{tikz}

唯一的问题是图表的大小。在我得出上述结论的漫长过程中,我记得一条错误消息,说 gnuplot 使用的标准图表大小为 560 x 420 pt。在 LaTeX 中,我通常使用类似

width = 0.9\textwidth

对于非 *.tex 图形,我希望我的图大约有这么大,因为我不想在缩放因子或其他参数上摸索。这有时会弄乱单个图形项目的相对位置。

如何更改 Gnuplot 从 Octave 创建的绘图大小?

答案1

当使用\input{...}来包含由Octave或制作的图形时,gnuplot您可以使用 重新缩放图像\resizebox{x}{y}{\input{...}},其中xy是所需的图像尺寸,单位为您希望的任何单位。您想要的用法需要保持比例不变,这意味着输入

\resizebox{0.9\textwidth}{!}{\input{plot}}

其中!填充了缺失的高度以保持整体比例不变。这在我的整个LaTeX有意识的生活中都有效。然而,这不一定看起来不错,因为图像的比例不合适:文本可能很小,图形难以辨认,等等。如果你想直接在 中创建具有正确尺寸的图形Octave,你应该使用papersize财产:

h = figure();

% plot your figure here

set(h, "papersize", [100, 100]);

使用的单位是点。或者,您可以使用-Sx,y命令的切换print;这两种方法是等效的,但我认为改变图形属性更有价值,而且绝对更通用,因此功能更强大。

相关内容