Linux 在gnuplot中将y轴分成三部分

Linux 在gnuplot中将y轴分成三部分,linux,gnuplot,Linux,Gnuplot,我试图绘制一些在y轴上有巨大间隙的数据,我希望从图中排除这些间隙 噪音: 我找到了将图表分成两部分的指南,这对我来说非常有用 reset unset key bm = 0.15 lm = 0.12 rm = 0.95 gap = 0.03 size = 0.75 y1 = 9.25e+06; y2 = 9.35e+06; y3 = 1.24e+07; y4 = 1.25e+07 set multiplot set xlabel 'Number of Iterations' set borde

我试图绘制一些在y轴上有巨大间隙的数据,我希望从图中排除这些间隙

噪音:

我找到了将图表分成两部分的指南,这对我来说非常有用

reset
unset key
bm = 0.15
lm = 0.12
rm = 0.95
gap = 0.03
size = 0.75
y1 = 9.25e+06; y2 = 9.35e+06; y3 = 1.24e+07; y4 = 1.25e+07

set multiplot
set xlabel 'Number of Iterations'
set border 1+2+8
set xtics nomirror
set ytics nomirror
set lmargin at screen lm
set rmargin at screen rm
set bmargin at screen bm
set tmargin at screen bm + size * (abs(y2-y1) / (abs(y2-y1) + abs(y4-y3) ) )

set yrange [y1:y2]
plot 'upquValues.dat' title 'upper quartile', 'MedianValues.dat' using 1 title 'median value', 'loquValues.dat' title 'lower quartile',  'MeanValues.dat' using 1 title 'mean value';

unset xtics
unset xlabel
set border 2+4+8
set bmargin at screen bm + size * (abs(y2-y1) / (abs(y2-y1) + abs(y4-y3) ) ) + gap
set tmargin at screen bm + size + gap
set yrange [y3:y4]

set label 'Runtime [ns]' at screen 0.03, bm + 0.5 * (size + gap) offset 0,-strlen("PRuntime [ns]")/4.0 rotate by 90

set arrow from screen lm - gap / 4.0, bm + size * (abs(y2-y1) / (abs(y2-y1)+abs(y4-y3) ) ) - gap / 4.0 to screen \
lm + gap / 4.0, bm + size * (abs(y2-y1) / (abs(y2-y1) + abs(y4-y3) ) ) + gap / 4.0 nohead

set arrow from screen lm - gap / 4.0, bm + size * (abs(y2-y1) / (abs(y2-y1)+abs(y4-y3) ) ) - gap / 4.0  + gap to screen \
lm + gap / 4.0, bm + size * (abs(y2-y1) / (abs(y2-y1) + abs(y4-y3) ) ) + gap / 4.0 + gap nohead

set arrow from screen rm - gap / 4.0, bm + size * (abs(y2-y1) / (abs(y2-y1)+abs(y4-y3) ) ) - gap / 4.0 to screen \
rm + gap / 4.0, bm + size * (abs(y2-y1) / (abs(y2-y1) + abs(y4-y3) ) ) + gap / 4.0 nohead

set arrow from screen rm - gap / 4.0, bm + size * (abs(y2-y1) / (abs(y2-y1)+abs(y4-y3) ) ) - gap / 4.0  + gap to screen \
rm + gap / 4.0, bm + size * (abs(y2-y1) / (abs(y2-y1) + abs(y4-y3) ) ) + gap / 4.0 + gap nohead

plot 'upquValues.dat' title 'upper quartile', 'MedianValues.dat' using 1 title 'median value', 'loquValues.dat' title 'lower quartile',  'MeanValues.dat' using 1 title 'mean value';

unset multiplot
休息时发出的噪音

我现在怎么能把它分成三部分呢?另外,图表的图例和标题确实丢失了,我也想修复它

我的下一个问题包括将图形保存为png或postscript。 当我第一次使用
设置术语png时;设置输出“img.png”
I生成一个空的img.png文件。当我先绘图,然后设置术语,并使用
replot
时,只打印上面的图形

一种“模拟”两轴断开的简单方法是使用
设置多点布局3,1
,并相应地固定y范围并重新打印数据

代码:

### two axes breaks
reset session
set colorsequence classic
set key left
set multiplot layout 3,1

set lmargin 5
unset xtics
set border 14
set ytic 1
set yrange [8:10]
plot x, sin(x)*10, -0.3*x**2+10

unset key
set border 10
set yrange [-2:2]
replot

set border 11
set xtics nomirror
set yrange [-10:-8]
replot

unset multiplot
### end of code
结果:

### two axes breaks
reset session
set colorsequence classic
set key left
set multiplot layout 3,1

set lmargin 5
unset xtics
set border 14
set ytic 1
set yrange [8:10]
plot x, sin(x)*10, -0.3*x**2+10

unset key
set border 10
set yrange [-2:2]
replot

set border 11
set xtics nomirror
set yrange [-10:-8]
replot

unset multiplot
### end of code

关于你的另一个问题: 如果我使用png或pngcairo或postscript终端,我会:

set term pngcairo
set output 'img.png'
plot x
set output
如果省略最后一个
设置输出
,我将得到一个0字节的文件'img.png'