1 of 5

It seems like none of the answers I see up to now are actually producing heat maps. The difference between a heat map and a ListDensityPlot is important. In Mathematica vocabulary, the heat map is a SmoothDensityHistogram.

First of all, I tried to directly use the 'heatMap' function in my answer. I just tried it with the data in that post:

data = RandomReal[1, {100, 2}];

Show[heatMap[data, "Points" -> 300, "Radius" -> {10, .02},
PlotRange -> {{0, 1}, {0, 1}},
ColorFunction -> ColorData["Rainbow"]], Graphics[Point@data],
PlotRange -> {{0, 1}, {0, 1}}]


All I did is to specify a tuple {10, .02} for the "Radius" option. Its first entry is the radius in the vertical direction, and with a choice of 10 this smears all the data out over the entire vertical image range.

This shows it works without modifying the code. But of course I have to tweak the function in order to make it look more "one-dimensional":

heatMap[data_, opts : OptionsPattern[]] :=
Module[{n, size, xRange, pr},
n = "Points" /. {opts} /. {"Points" -> 100};
pr = PlotRange /. {opts} /. {PlotRange :>
Map[{Min[#], Max[#]} &, Transpose[data]]};
xRange = -Subtract @@ pr[[1]];
size = Floor[
Graphics[
{Inset[
ArrayPlot[
Rescale@GaussianFilter[
ImageData@ColorNegate@ColorConvert[
Rasterize[
Graphics[
Point[data],
Background -> White,
ImageMargins -> 0,
PlotRange -> pr
],
"Image",
ImageSize -> n
],
"GrayScale"
],
{3 size, size},
],
ColorFunction -> (ColorFunction /. {opts} /. {ColorFunction ->
ColorData["LakeColors"]}),
Frame -> False
],
pr[[All, 1]],
{0, 0}, xRange]},
PlotRange -> pr,
Frame -> True,
FrameTicks -> {Automatic, None}
]
]


So here I removed the PlotRangePadding and the FrameTicks on the left side, as well as the PlotRangePadding. I think that's all you need to change. Having collapsed the data onto a single axis, the vertical smearing for GaussianFilter needs to be only of order 1 (in relation to the horizontal axis) - so that's what I used. Then I set the PlotRange appropriately and get this:

data = RandomReal[{0, 1}, 100];
data = {#, 0} & /@ data;

heatMap[data, "Points" -> 300, "Radius" -> {1, .02},
PlotRange -> {{0, 1}, {0, .04}}, PlotRangePadding -> 0,
FrameLabel -> None]


The meaning of the option "Points" (number of horizontal sampling points) is the same as described in the linked post.