def draw_distribution_graph(self, title=None, size=(<NUM_LIT:1000>, <NUM_LIT:1000>), bins=<NUM_LIT:100>):
<EOL>import matplotlib.pyplot as plt<EOL>points = []<EOL>for _ in sm.xrange(size[<NUM_LIT:0>]):<EOL><INDENT>points.append(self.draw_samples(size[<NUM_LIT:1>:]).flatten())<EOL><DEDENT>points = np.concatenate(points)<EOL>fig = plt.figure()<EOL>fig.add_subplot(<NUM_LIT>)<EOL>ax = fig.gca()<EOL>heights, bins = np.histogram(points, bins=bins)<EOL>heights = heights / sum(heights)<EOL>ax.bar(bins[:-<NUM_LIT:1>], heights, width=(max(bins) - min(bins))/len(bins), color="<STR_LIT>", alpha=<NUM_LIT>)<EOL>if title is None:<EOL><INDENT>title = str(self)<EOL><DEDENT>if title is not False:<EOL><INDENT>title_fragments = [title[i:i+<NUM_LIT:50>] for i in sm.xrange(<NUM_LIT:0>, len(title), <NUM_LIT:50>)]<EOL>ax.set_title("<STR_LIT:\n>".join(title_fragments))<EOL><DEDENT>fig.tight_layout(pad=<NUM_LIT:0>)<EOL>with tempfile.NamedTemporaryFile(suffix="<STR_LIT>") as f:<EOL><INDENT>fig.savefig(f.name)<EOL>data = imageio.imread(f)[..., <NUM_LIT:0>:<NUM_LIT:3>]<EOL><DEDENT>plt.close()<EOL>return data<EOL>
Generate a plot (image) that shows the parameter's distribution of
values.

Parameters
----------
title : None or False or str, optional
    Title of the plot. None is automatically replaced by a title
    derived from ``str(param)``. If set to False, no title will be
    shown.

size : tuple of int
    Number of points to sample. This is always expected to have at
    least two values. The first defines the number of sampling runs,
    the second (and further) dimensions define the size assigned
    to each :func:`imgaug.parameters.StochasticParameter.draw_samples`
    call. E.g. ``(10, 20, 15)`` will lead to ``10`` calls of
    ``draw_samples(size=(20, 15))``. The results will be merged to a single 1d array.

bins : int
    Number of bins in the plot histograms.

Returns
-------
data : (H,W,3) ndarray
    Image of the plot.