This seems like an interesting graphics exercise so I thought I'd try my hand at it. The data have several aspects that would benefit from individual treatment. First, the curves are well separated so they can easily be directly labeled. Legends are really a distraction and I'll say more about them below. The third data set has quite low values and it tends to get lost along the axis. To solve that I scaled it up by 5 and used a right hand axis for its values. The light tan color that Mathematica automatically uses is a bit weak so I switched to the next color, green. I also labeled the curve and the right hand tick values in green to make the identification. I don't know if the missing value in the second data set was truly missing or an error but I left it in. I don't know what the ordinate values represent so I decided to jazz it up and make it the speed of cheetahs. I have grown to dislike the PlotLabel option, finding the Mathematica Labeled routine much superior. (Or sometimes one can write plot labels directly on a blank space in the plot.)
Naturally I used Presentation and in defense I wonder how many users would consider a treatment like this with regular Mathematica "set-piece" plots.
<< Presentations`
DistSpat20084D = {{7, 7, 44, 79, 121, 148, 152, 158, 153, 165, 182,
160, 163, 164, 169, 177, 198, 190, 177, 173, 159, 155, 147, 126,
142, 127, 129, 117, 13}, {7, 2, 10, 36, 53, 93, 108, 116, 134,
117, 115, 123, 84, 123, 127, 126, 153, 119, 147, 50, 43, 27, 23,
26, 21, 22, 28, 16, 18, 12, , 4, 5, 4, 3, 4, 1, 3, 0, 2, 4, 3, 4,
2, 5, 4, 0}, {7, 1, 6, 12, 3, 3, 2, 5, 4, 1, 3, 2, 0, 1, 0, 0, 0,
0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0}};
I thought it was easier to generate the individual point data sets.
distSpatTable =
Table[{km/10, DistSpat20084D[[j, km]]}, {j, 3}, {km,
Length[DistSpat20084D[[j]]]}];
The following creates the graphic.
rightTicks =
CustomTicks[5 # &, {0, 12, 3, 1},
CTNumberFunction -> (Style[#, ColorData[1][4]] &)];
Draw2D[
{ListLineDraw[distSpatTable[[1]], PlotStyle -> ColorData[1][1]],
ListLineDraw[distSpatTable[[2]], PlotStyle -> ColorData[1][2]],
ListLineDraw[{1, 5} # & /@ distSpatTable[[3]],
PlotStyle -> ColorData[1][4]],
Text["Chettah 1", {2.5, 160}],
Text["Cheetah 2", {2.35, 80}],
Text[Style["Cheetah 3", ColorData[1][4]], {1, 38}]},
AspectRatio -> 1/2,
Axes -> False,
Frame -> True,
FrameTicks -> {{Automatic, rightTicks}, {Automatic, Automatic}}] //
Labeled[#,
Style["Fig.1 Speed (km/h) vs. distance (km) for three cheetah \
runs.", 12, FontFamily -> "Helvetica"], {Bottom, Left}] &

Legends are a weak method for conveying information. They are another plot that distracts from the main data presentation. They require the viewer to carry information from one location to another location. It is much better if curves (or points) can be directly labeled. But what happens if you have, say, 20 curves that are rather tightly intertwined? Then, if you are creating a printed graphics, a legend is about the only choice. Bur how well can a reader extract information from one curve when it is being clobbered by 19 other curves and perhaps data points? On the other hand, if you are communicating via Mathematica notebooks (or giving a presentation from a Mathematica notebook) there is a much better choice. You could use a CheckboxBar, or a RadioButtonBar to dynamically select one or several curves and gray out the other curves. It's easy to do and a much superior way to examine such data sets. Someday technical communications will routinely be done through Mathematica notebooks.
ListLinePlot[ Table[{km/10, DistSpat20084D[[j, km]]}, {j, 3}, {km, Length[DistSpat20084D[[j]]]}], PlotLegends -> {"Speed1", "Speed2", "Speed3"}]
$\endgroup$