(This answer has just the circles, not the box with color scale information)
To get circular looking disks I use Offset[r]
for the radius, which ignores aspect-ratio and plot scale:
Plot[x, {x, 0, 30}, AspectRatio -> 1/10, Epilog -> {
{Red, Circle[{5, 5}, 5]},
{Green, Circle[{20, 20}, Offset[10]]}
}]

When putting Graphics
together with Show
the Axes
will also extend, I avoid this with ImagePadding
Which also allows to put everything in Epilog
:
p = Plot[x, {x, 0, 30}];
GraphicsRow[{
Show[{p, Graphics[{Disk[{15, -15}, Offset[10]]}]},
PlotRangeClipping -> False,
PlotRange -> All],
Show[p,
Epilog -> {Disk[{15, -15}, Offset[10]]},
PlotRangeClipping -> False, ImagePadding -> {{All, All}, {50, All}}]
}]

This function takes a Graphics
object and a list of x-values as argument and for each curve (Line
) makes a disk layer.
The list wrangling became quite ugly, if you need clarification on some parts just ask.
ClearAll[circleLayer]
Options[circleLayer] = {
ColorFunctionScaling -> True,
ColorFunction -> ColorData["Temperature"],
"Radius" -> 10};
circleLayer[g_Graphics, ind_List, OptionsPattern[]] := Module[{
fns = Cases[g, l_Line :> Interpolation[l[[1]]], Infinity],
plotRange = (PlotRange /. AbsoluteOptions[g, PlotRange]),
fpts, pts, lines, colorF, rmax
},
{rmax, colorF} = OptionValue[{"Radius", ColorFunction}];
fpts = MapIndexed[
{ConstantArray[rmax (1 - First[#2]/(Length[fns] + 1)), Length[ind]],
ind, #[ind]}\[Transpose] &,
fns
]~Flatten~1;
(* Lines from curves to disks *)
lines = {Dashed, Line[
(x \[Function] {Offset[{0, -1.5 rmax}, {x, plotRange[[2, 1]]}],
{x, Max[Through[fns[x]]]}}) /@ ind ]};
(* points on curve *)
pts = {Gray, Disk[#, Offset[rmax/5]] & /@ fpts[[All, 2 ;; 3]]};
If[OptionValue[ColorFunctionScaling],
fpts[[All, 3]] = Rescale[fpts[[All, 3]]]
];
Show[g,
PlotRangeClipping -> False,
ImagePadding -> {{All, All}, {4 rmax, All}},
Epilog -> {
EdgeForm[Black],
pts, lines,
Function[{r, x, y},
{colorF[y],
Disk[
Offset[{0, -3 rmax}, {x, plotRange[[2, 1]]}],
Offset[r]
]}] @@@ fpts}]]
Example:
circleLayer[
Plot[{x, x^2, Sin[x]}, {x, -1, 1}],
{-1/3, 1/3, 2/3, 1}]

For the linked data you get something like:

BarLegend
" should be a new, separate question. It is a perfectly good stand-alone problem, and really completely unrelated to this "fill circle layers with colors" question, except that you personally happen to want both features on one chart. $\endgroup$ – Simon Woods Nov 5 '13 at 12:09