[Matplotlib] Ploting an exponential distribution frequency curve
Mario Figueiredo
marfig at gmail.com
Sun Apr 26 00:33:10 CEST 2015
I'm trying to plot the curve of an exponential distribution without
much success. I'm missing something very basic I feel, but just can't
figure it out after numerous tries, so I'm turning out to you.
This is the function generating the frequency of individual outcomes:
import decimal
from random import expovariate
from collections import defaultdict
decimal.getcontext().prec = 4
Dec = decimal.Decimal
samples = 100000 # 100,000
def generate(lambd):
res = defaultdict(int)
for _ in range(samples):
res[Dec(expovariate(lambd)).quantize(Dec('0.01'))] += 1
return res
Trying to plot this data into a frequency curve is proving too
challenging and I just can't understand why.
plot(list(results.keys()), list(results.values()))
This results in strange line graph where there is the outline of an
exponential curve but the line crisscrosses all over the place. I
can't understand why I am getting this graph result and not just the
smooth line I can infer from looking at the hard data.
More information about the Python-list
mailing list