There is something that I don't understand in your last plot. You have an expression of the form
Table[something, {r, 0, 2*10^-4}]
where something
does not depend on r
. Also, since the iterator r
can only take integer values with your syntax, r
only takes the value 0. The end value 2*10^-4
is totally irrelevant.
However, this makes a superposition of the plots:
lstplot =
ListPlot[(Range[1, 10^5, 100])^6/(
128*he) ((5*Table[d1, {p1, 1, 10^5, 100}]) +
(Range[1, 10^5, 100]*Table[d2, {p1, 1, 10^5, 100}])),
PlotRange -> {0, 20000}]
With[{a = (2000000)},
Show[lstplot,
Plot[Evaluate[distribution /. r -> r/a], {r, 0, a*.0003},
PlotStyle -> Red]]]