脚本用于制作情节本身。但是,将关键帧移到绘图窗口之外会导致其压缩。我不知道边距大小是多少,因为此脚本创建每个图并将其保存为 SVG。我不知道该怎么处理这个尺寸,我已经尝试了其他推荐的“修复”,但似乎都不起作用。
这是日期:
"potential" "Bare" "1/2ML OH Fe" "1/2ML OH Cu" "1ML OH" "1ML OH Fe" "1ML OH Cu" "3/2ML OH Fe" "3/2ML OH Cu" "2ML OH" "0-2"
0.00 0 0.949 0 0 0 0 2.685 4.636 4.511
1.23 0 -0.281 0 0 0 0 -1.005 -0.454 -0.409
"potential" "Bare" "1/2ML OH Fe" "1/2ML OH Cu" "1ML OH" "1ML OH Fe" "1ML OH Cu" "3/2ML OH Fe" "3/2ML OH Cu" "2ML OH" "0-6"
0.00 0 0.267 0 0 0 0 2.632 3.960 4.710
1.23 0 -0.533 0 0 0 0 -1.058 0.370 -0.200
"potential" "Bare" "1/2ML OH Fe" "1/2ML OH Cu" "1ML OH" "1ML OH Fe" "1ML OH Cu" "3/2ML OH Fe" "3/2ML OH Cu" "2ML OH" "1-1"
0.00 0 -0.295 0 0 0 0 0.498 0.503 2.403
1.23 0 -1.605 0 0 0 0 -2.892 -2.087 -2.517
这是生成绘图的脚本: 有些行已为我注释掉了。
#!/usr/local/Cellar/gnuplot/5.4.4/bin/gnuplot
### Batch create SVG files from multiple subblocks
FILE = "total.dat"
set term svg font "{/:Bold}Sans,25"
#set term qt font "Sans,21"
set border 15 front linecolor rgb "black" linewidth 3.000 dashtype solid
#set key noautotitle samplen 2
set format x "%.1f"
#set nokey
set key top right
set key outside
set key font "{/:Bold,15}"
#set key at 2.3,2,0
set xrange [0:1.23]
set yrange [-2:2]
set xlabel "U (V vs. RHE)"
set xlabel offset character 0,0.6,0 font "{/:Bold},23"
set ylabel "{/Symbol D}G (eV)"
set ylabel offset character 1.0, 0, 0 font "{/:Bold},26"
set xtics nomirror font "{/:Bold},24"
set ytics nomirror font "{/:Bold},24"
set title noenhanced
myFileOut(s) = sprintf("%s.svg",s)
do for [i=0:2] {
stats FILE index i every ::::0 u (s=strcol(11),0) nooutput
set output myFileOut(s)
plot FILE index i u 1:2 w l lw 3 title columnheader(2), \
"" index i u 1:3 w l lw 3 title columnheader(3), \
"" index i u 1:4 w l lw 3 title columnheader(4), \
"" index i u 1:5 w l lw 3 title columnheader(5), \
"" index i u 1:6 w l lw 3 title columnheader(6), \
"" index i u 1:7 w l lw 3 title columnheader(7), \
"" index i u 1:8 w l lw 3 title columnheader(8), \
"" index i u 1:9 w l lw 3 title columnheader(9), \
"" index i u 1:10 w l lw 3 lc rgb "pink" title columnheader(10)
}
set output
在 gnuplot 版本 5.4.4(由脚本显示)中,您应该能够组合
set key outside
和 set rmargin at screen <fraction>
来获得您想要的内容,尽管需要进行一些实验来找到右边距的适当设置。这是一个例子:
set key outside box
set rmargin at screen 0.7
set logscale y
DATA = "some_file.dat"
plot for [col=2:15] DATA using 1:col with lines
为了完整起见,我将补充一点,如果您有稍微更新的 gnuplot 版本,5.4.5(如果不是最新且最好的版本 6),那么您可以使用
set key offset <whatever>
重新定位密钥,而不会干扰其他任何内容。
这是一个简单的图,其中有键(默认),但有明确的右边距,因为我知道我想要留出一些空间。
set logscale y
set rmargin at screen 0.7
DATA = "some_file.dat"
set style data lines
set key inside box
plot for [col=2:15] DATA using 1:col title sprintf("DATA column %d",col)
这里是添加键偏移以将键位置移动到右侧保留的量后完全相同的图。
set key offset screen 0.3
replot