It is helpful that gnuplot automatically picks up reasonably good x/y-range, and x/y-tics number (say approx 5 as attached figure).
However, I sometimes would like to in
OK, now I see your point. Especially in multiplots or when the graphs are getting small relative to the size of the tic labels there are too many tics.
Find below a workaround which seems to work in the demonstrated cases. If it works nicely all the time you need to test. The disadvantage is that you have to plot first to a dummy table in order to get gnuplot's suggestion about the minimum and maximum tics which gnuplot puts into the GPVAL_...
variables and then replot again.
In the graph below the first row is gnuplot auto-tic, the second row the attempt for semi-auto-approximate-tic. Maybe it is a starting point for further tweaking.
### semi-automatic tics
reset session
Round(n) = gprintf("%.0e",n)
# or alternatively with less approximate tics:
# Round(n) = gprintf("%.0e",n) + sgn(n)*10**gprintf("%T",n)
SemiAutoTicX(ApproxTicN) = Round((GPVAL_X_MAX - GPVAL_X_MIN)/ApproxTicN)
SemiAutoTicY(ApproxTicN) = Round((GPVAL_Y_MAX - GPVAL_Y_MIN)/ApproxTicN)
set multiplot layout 2,3 rowsfirst
### with gnuplot auto-tic
set xrange [-10:10]
plot x
set xrange [-100:100]
plot x**2
set xrange [-90:90]
plot x
### now with semi-auto tics
set style line 1 lc rgb "red"
set xrange [-10:10]
set table $Dummy
plot x ls 1
unset table
set xtics SemiAutoTicX(5)
set ytics SemiAutoTicY(5)
replot
set xrange [-100:100]
set table $Dummy
plot x**2 ls 1
unset table
set xtics SemiAutoTicX(5)
set ytics SemiAutoTicY(5)
replot
set xrange [-90:90]
set table $Dummy
plot x ls 1
unset table
set xtics SemiAutoTicX(5)
set ytics SemiAutoTicY(5)
replot
unset multiplot
Not sure whether I get your "of course, changing the number of tics is easy" right and I maybe I'm giving the answer you know yourself already - but anyway:
From help set xics
:
Positions of the tics are calculated automatically by default or if the
autofreq
option is given; otherwise they may be specified in either of two forms:The implicit , , form specifies that a series of tics will be plotted on the axis between the values and with an increment of . If is not given, it is assumed to be infinity. The increment may be negative. If neither nor is given, is assumed to be negative infinity, is assumed to be positive infinity, and the tics will be drawn at integral multiples of .
So to start with - you can play around with the settings yourself:
set xtics -7, 1.5
plot[-7.5:7.5][] sin(x)
which gives you