Starting from version 0.8
, ctioga2
is able to make histograms
whose size adjust automatically.
Histograms are a plot type in their own right, just like standard
xy-plot
or parametric plots (xy-parametric
), switched on
using histogram
:
math /samples=15 /xrange=-1.5:1.5 histogram margin 0.03 fill 0 fill-color-set default!!10 plot 'cos(x)' plot 'x**2/2.25'
The default!!20
syntax means “mixing 20% of the default
colorset
with white”. You can mix colorsets, and you can also use a single !
to mix colors directly.
The histograms are better filled for them to look good.
Spacing around the histograms can be tuned using the options to
histogram
. /gap
controls the spacing between histogram
groups, whie /intra_sep
controls the spacing within a group of
histograms:
math /samples=15 /xrange=-1.5:1.5 histogram /gap=1mm margin 0.03 fill 0 fill-color-set default!!10 plot 'cos(x)' plot 'x**2/2.25' xy-plot fill no plot 'cos(x)'
As is visible above, it is easy to mix histograms and normal curves (so long as you remember to disable filling).
ctioga2
can stack histograms when using the /cumulative
option to
histogram
. Use histogram /cumulative=next
to start a new
group of cumulative histograms. ctioga2
automatically add up the
values of the data points.
math /samples=15 /xrange=-1:1 histogram /gap=1mm /cumulative=next margin 0.03 fill 0 fill-color-set default!!10 plot '0.5*cos(x)' plot 'x**2/2.25' histogram /cumulative=next plot '0.2*(x+1)' plot '0.2*(1-x)'
Of course, nothing stops you from displaying stacked histograms
side-by-side with unstacked ones. Use /cumulative=no
to disable
the effect.
All the examples above assume that the data you want to plot is
already binned, or that you don’t need binning; after all, not all
data that you may want to represent as histograms has to be binned !
But if you need, you can let ctioga2
bin the data itself, through
the bin
command. The
hists-data.dat
file contains a series of
numbers (the sinuses of the 10000 first integers), one per line. Here
is how one can bin the data and plot it using a ctioga2
command
file:
load hists-data.dat@0:1 bin /min=-1 /max=1 /delta=0.1 histogram margin 0.06 fill 0 fill-color-set default!!20 plot-last
Note that you need first to load the data, using load
, then
process it using bin
. As it works by default on the second
column of the loaded dataset, I have specified the 0:1
columns spec
for loading. Then, one just need to plot the resulting data using
plot-last
, that plots the last thing from the stack.