gnuplot EPS终端有问题的dvi或ps输出

gnuplot EPS终端有问题的dvi或ps输出,gnuplot,Gnuplot,我使用epslatex终端生成带有gnuplot 4.6.4的eps图形 但是,我对这个脚本有问题 # reset reset # sz = 1.4 rx = 10.0/7.0 # set style line 1 lt 1 pointsize 1 # blue line set style line 2 lt 12 pointsize 1 # set terminal epslatex size rx*sz,2*sz color standalone set output 'output.te

我使用epslatex终端生成带有gnuplot 4.6.4的eps图形

但是,我对这个脚本有问题

# reset
reset
#
sz = 1.4
rx = 10.0/7.0
#
set style line 1 lt 1 pointsize 1
# blue line
set style line 2 lt 12 pointsize 1
#
set terminal epslatex size rx*sz,2*sz color standalone
set output 'output.tex'

set multiplot layout 2,2

# Figure 1,1
set tmargin 0
set bmargin 0
set lmargin at screen 0.05
set rmargin at screen 0.475
set format x ""
set xrange [30:130]
set ylabel offset 2,0 "Y label [sec]"
unset xlabel
set grid
set yrange [0:9]
set ytics ("" 0, "1" 1, "2" 2, "3" 3, "4" 4, \
"5" 5, "6" 6, "7" 7, "8" 8, "" 9)
unset key
plot "./inp" u 1:2 t "tsL" w lp ls 1, \
"" u 1:3 t "vL" w lp ls 2
#

# Figure 1,2
set bmargin 0
set tmargin 0
set lmargin at screen 0.525
set rmargin at screen 0.95
set format x ""
set format y ""
set xrange [30:130]
set yrange [0:9]
#set mytics 2
unset ylabel
unset xlabel
set grid
plot "./inp" u 1:2 t "tsL" w lp ls 1, \
"" u 1:3 t "vL" w lp ls 2

# Figure 2,1
set tmargin 0
set bmargin 0
set lmargin at screen 0.05
set rmargin at screen 0.475
set format x "%g"
set format y "%g"
set xrange [30:130]
set ylabel offset 2,0 "Ylabel"
set xlabel offset 0,0.6 "neig"
set grid
set yrange [0:9]
set ytics ("" 0, "1" 1, "2" 2, "3" 3, "4" 4, \
"5" 5, "6" 6, "7" 7, "8" 8, "" 9)
unset key
set xtics ("40" 40, "" 60 , "80" 80,\
"" 100, "120" 120)   
set mxtics 2
plot "./inp" u 1:2 t "tsL" w lp ls 1, \
"" u 1:3 t "vL" w lp ls 2
#

# Figure 2,2
set bmargin 0
set tmargin 0
set lmargin at screen 0.525
set rmargin at screen 0.95
set format y ""
set format x "%g"
set xrange [30:130]
set yrange [0:9]
#set ylabel "Ylabel"
unset ylabel
set xlabel offset 0,0.6 "neig"
set grid
set xtics ("40" 40, "" 60 , "80" 80,\
"" 100, "120" 120)  
set mxtics 2
plot "./inp" u 1:2 t "tsL" w lp ls 1, \
"" u 1:3 t "vL" w lp ls 2
#
unset multiplot
#
set output
输入文件inp,其中包括

40 1 3 
60 2 4
80 3 5
100 4 6
120 5 7

如果我编译文件,一切都会顺利。但是,dvi文件中缺少一行,标签似乎位于错误的位置。在那之后,如果我执行“dvips output.dvi”,我会得到一个完全错误的ps输出,没有任何标签和ytic在错误的位置。我在这个实现中犯了什么错误

dvi输出通常是错误的,尤其是标签,因为这些是用Postscript操作排版的,许多dvi查看器无法正确解释这些操作

关于标签,您的左边距太小,因此标签位于图像之外。例如,我必须使用

set lmargin at screen 0.2
set ylabel offset 0.5,0 "Y label [sec]"
对于图1.1,为了有合理的边距并查看所有标签(HYLABLES和ylabel)。ytics还可以

同样,您必须修复其他子图形的
lmargin
rmargin
的其他设置,以及底部行的
bmargin
,以便查看xlabel和xtic标签

您不需要手动设置ytics。使用

set ytics 1,1,8 # tics from 1 to 8 in steps of 1
set xtics 40    # distance of 40 between tics.
边距和绘图区域 关于边距、绘图区域和画布大小的一些备注

  • 图像大小(即画布大小)由
    size
    terminal选项(例如
    set terminal pngcairo size 800400
    )给出
  • 通常,画布内打印区域的大小和位置是根据几个点自动确定的:
    • 字号
    • xlabel
      ylabel
      等的存在和位置,
      标题
      在外部,
      色盒
      ,tic标签的长度等
    • 打印区域可以相对于由
      设置大小
      设置原点
      自动确定的区域进行更改(对于
      splot
      ,可以使用
      设置视图
      进行缩放)
  • 也可以通过指定显式边距将打印区域设置为固定。在这种情况下,用户必须注意提供足够大的边距以适应所有元素。可以使用
    set lmargin
    set rmargin
    set bmargin
    set tmargin
    单独指定页边距。可通过两种方式指定其值:
  • set tmargin 1
    留下一个相当于一个字符高度的上边距
  • 将tmargin设置为屏幕0.95
    留下总画布大小的5%的上边距

好吧,我想我对绘图区域有一个误解,比如边距和精确的绘图框等等,我在哪里可以了解这些信息来根据我的需要定制绘图,有什么想法吗?我不知道这方面的紧凑来源,所以我在答案中添加了一些信息。