我使用 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{...}}
,其中x
和y
是所需的图像尺寸,单位为您希望的任何单位。您想要的用法需要保持比例不变,这意味着输入
\resizebox{0.9\textwidth}{!}{\input{plot}}
其中!
填充了缺失的高度以保持整体比例不变。这在我的整个LaTeX
有意识的生活中都有效。然而,这不一定看起来不错,因为图像的比例不合适:文本可能很小,图形难以辨认,等等。如果你想直接在 中创建具有正确尺寸的图形Octave
,你应该使用papersize
财产:
h = figure();
% plot your figure here
set(h, "papersize", [100, 100]);
使用的单位是点。或者,您可以使用-Sx,y
命令的切换print
;这两种方法是等效的,但我认为改变图形属性更有价值,而且绝对更通用,因此功能更强大。