2008/03/08

Gnuplot支持图片格式,保存,及插入到latex

在文件中置入 gnuplot 绘制的图形

目前支持格式 postscript(*.ps), enhanced postscript(*.eps), x11(screen)

set terminal postscript eps color lw 1 “Helvetica” 20
如果想让线条粗些,可以修改 lw 后面的 1
然后再加上一句这个来设置输出文件:
set output ‘sample.eps’

所有终端在能力上都不相同。其中的一些(如 LaTeX)可能不支持文本的旋转,所以如果您像我们前面那样设置 ylabel,在不同的终端中可能显示不一样。换句话说,您可以在 LaTeX 的特定终端中使用 LaTex 命令。例如, set ylabel "$sin(\\theta)$"(注意我们使用两个反斜杠产生一个 LaTex 所需的反斜杠 —— gnuplot 在将双引号中所括的字符串传送到终端驱动程序之前,先对其进行反斜杠处理)。现在,您可以使用 \input{output.tex} 将输出文件包含在 LaTeX 文件中。要在 PostScript 终端中获得相同的结果,使用相应的 PostScript 命令: {/Symbol q} 。在 enhanced PostScript 和 LaTeX 中,您可以使用表示法 x^{superscript}和 x_{subscript} 得到上标文字。还要注意缩写的终端和输出命令:

eps 驱动程序的能力set term post enh
# enhanced PostScript, essentially PostScript
# with bounding boxes
set out 'gplt.eps'
set xlabel '{/Symbol q_1}
set ylabel 'sin^2({/Symbol q_1})'
plot sin(x)**2

控制比例和长宽比

默认情况下,gnuplot 对 x 轴和 y 轴都使用比例系数 1,但是它对控制图形的长宽比(y 轴长度与 x 轴长度的比率)不起作用。终端驱动程序使用终端的默认长宽比。比例系数、长宽比或者两者都可以使用 set size 命令指定,例如:

# square is synonymous to an aspect ratio of 1;
# scale y-axis by 2, retain x-axis size
set size ratio square 1,2

gnuplot 使用给定的长宽比能否成功绘制图可能受到终端能力的限制。 set size 也是与 multiplot 命令一起使用才有用,multiplot 命令用于在同一输出屏幕或文件中生成多个图。

没有评论: