First I'll generate some data in {start,end,height}
format. This data is drawn from a standard normal distribution.
data = Partition[Flatten[Transpose[{Thread[{Most[#[[1]]], Rest[#[[1]]]}], #[[2]]}]], 3] &
[HistogramList[RandomReal[NormalDistribution[], 100], Automatic, "PDF"]]
Now you could try using a combination of explicit binning and a height function.
hfun[bins_, counts_] := counts
x = Union[Flatten[data[[All, 1 ;; 2]]]];
h = data[[All, -1]];
Histogram[x, {x}, hfun[#, h] &]
Suppose you want to compare it to the underlying distribution.
Show[Histogram[x, {x}, hfun[#, h] &],
Plot[PDF[NormalDistribution[], t], {t, -3, 3}], PlotRange -> All]
Edit:
In this particular case I assume normalized heights because I generated them with HistogramList
and the setting "PDF". If this is not the case you may need to normalize them yourself. This can be accomplished by replacing h
with hnorm
in Histogram
where hnorm
is given by
hnorm = h/Differences[x].h