Gnuplot minimum and maximum boundaries for autoscaling

autoscaling, gnuplot, plot, scaling

Solution

Since version 4.6 gnuplot offers a new syntax to specify upper and lower limits for the autoscaling. For your case you could use

set xrange [0:100 < * < 1000]

Quoting from the documentation:

The range in which autoscaling is being performed may be limited by a lower bound `<lb>` or an upper bound `<ub>` or both. The syntax is

{ <lb> < } * { < <ub> }

For example

0 < * < 200

sets `<lb> = 0` and `<ub> = 200`.

That syntax can be applied to both the minimum or maximum value of `set *range`.

To autoscale `xmin` but keeping it positive, use

set xrange [0<*:]

To autoscale `x` but keep minimum range of 10 to 50:

set xrange [*<10:50<*]

See the documentation about `set xrange` for more information.

Problem

How can I limit the autoscaling of gnuplot, so that, as example for the y-max, it is at least a certain value and it would autoscale up to fixed "limit"? From looking at the documentation, I only see how to fix min-, or max- end of the axis, while the other is being scaled automatically. About autoscaling on PDF page 93

Original source