【问题标题】:Add an aditional space to xrange and yrange为 xrange 和 range 添加额外的空间
【发布时间】:2019-03-12 16:13:31
【问题描述】:

我想使用 Gnuplot 脚本绘制多个文件。
但是,我在使其完美时遇到了一些麻烦。


我的实际情节是这样的:

但是,线点图同时触及 x 轴和 y 轴。
因此,我想在xrangeyrange 上添加额外的空间并得到 它不会触及我的轴。


我可以手动使用 set xrangeset yrange
但是,我需要绘制 100 多个不同的文件,这样做会非常耗时。

有什么方法可以自动将xrangeyrange 的大小增加一些单位?

我的 Gnuplot 代码如下。

#!/usr/bin/env gnuplot

set terminal epslatex size 7.5,3 standalone
set output 'pareto.tex'

set style fill solid 0.8
set ytics nomirror
set xtics nomirror

set grid lc rgb "#F2F2F2"

set xlabel 'Z_1'
set ylabel 'Z_2'

set xrange [170:215]
set yrange [7:40]

set style line 1 lt rgb "#000000" lw 12 pt 7 pointsize 3

plot "../exact.dat" using 1:2 title '$aug\,\epsilon$-CM' with linespoints ls 1

unset output

set output # finish the current output file
system('pdflatex --interaction=batchmode pareto.tex')
unset terminal

system

【问题讨论】:

    标签: plot gnuplot


    【解决方案1】:

    您要查找的命令是set offset。有关完整说明,请参阅文档。 示例:

    set multiplot layout 3,1
    
    # Default placement
    plot 'silver.dat' with lines
    
    # Additional whitespace combined with auto-extenstion to nearest ticmark
    set offset 20,20,20,20
    replot
    
    # Additional whitespace with no auto-extension to nearest ticmark
    set xrange [*:*] noextend; set yrange [*:*] noextend
    replot
    
    unset multiplot
    

    【讨论】:

    • 这很完美!谢谢@Ethan,我真的没见过这个offset 参数。