Hack Angriff!
set term pngcairo truecolor size 300,300 font "Arial,12"
set out 'plot.png'
# x,y min/max and center
xmin = -10
xc = 0
xmax = 10
ymin = -2
yc = 0
ymax = 2
# default borders
tm = 1
bm = 1
rm = 4
lm = 4
# arrow scale factor to cover last tic
af = 1.05
set arrow from xc,yc to xmin*af,yc filled size 0.6,30
set arrow from xc,yc to xmax*af,yc filled size 0.6,30
set arrow from xc,yc to xc,ymax*af filled size 0.6,30
set arrow from xc,yc to xc,ymin*af filled size 0.6,30
set multiplot layout 2,2
## Plot 1, top left
set key top left
set xr [xmin:xc]
set yr [yc:ymax]
set tmargin tm
set bmargin 0
set rmargin 0
set lmargin lm
set border 9
unset ytics
set xtics nomirror
plot sin(x)
## Plot 2, top right
unset key
set xr [xc:xmax]
set lmargin 0
set rmargin rm
set border 3
set ytics nomirror
replot
## Plot 3, bottom left
set xr [xmin:xc]
set yr [ymin:yc]
set bmargin bm
set tmargin 0
set lmargin lm
set rmargin 0
set border 12
unset tics
replot
## Plot 4, bottom right
set xr [xc:xmax]
set lmargin 0
set rmargin rm
set border 6
set ytics nomirror
replot
unset multiplot
ich diese Ausgabe:
Das heißt, könnten Sie die zeroaxis
Option suchen. Es gibt eine Demonstration here. Leider zeichnet diese Option die Achse nicht auf Null, sondern setzt nur eine Linie auf diese Position.
Ich würde nicht sagen meine Methode ist "effizient", aber es gibt wahrscheinlich nicht zu viel Aufwand, um dies für Ihre Zwecke zu ändern abgesehen von der Funktion/Daten zu ändern, da die meiste Arbeit von replot
Befehle ausgeführt wird. Ich kenne keine Option, um gnuplot Pfeile am Achsenende zu setzen oder zu ändern, wo die Achsen nativ gezeichnet werden.
+1. 'set zeroaxis' scheint zu bewirken, dass beide Achsen in einem Befehl durch den Ursprung gehen. Sie können auch die gewünschte Dicke und den gewünschten Linientyp für die Achse angeben: 'set zeroaxis linewidth 2 linetype 1', usw. – Umang
Sie können zuerst 'x2tics' und 'ysetts unset' löschen. Ansonsten erhältst du alle Tics zweimal angezeigt. – d3dave