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.
Since version 4.6 gnuplot offers a new syntax to specify upper and lower limits for the autoscaling. For your case you could use
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 isFor example
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, useTo autoscale
x
but keep minimum range of 10 to 50:See the documentation about
set xrange
for more information.I don't think it is possible, either you have autoscaling on no-, min- or max-, or both axis i.e.:
Respectively.
Since people seem to be interested in this question, I'll add the way I solved this as an answer:
I made the minimum for the autoscaling by inserting a invisible marker in the beginning of the data. That cause the plot to always "show" it, even though it can not bee seen.
Then I implemented the maximum outside of gnuplot (propably could have been possible inside it as well, take a look at mgilson's answer), in a parser script that I have used to prepare the data for gnuplot.
Actually in the script I took all the "clipped out" values, added them to y=0, and made them red. That way I get a "warning", of values being too big to be sensible to graph. (My program monitors pings between two hosts, and there is no sense trying to graph 5s+ latencies => I mark it as connection broken)
In this case, you could filter the data and let gnuplot do it's normal auto-scaling: