After model execution, print the dataset, curve-fit, BMD, and BMDL.

        Example
        -------

        >>> import os
        >>> fn = os.path.expanduser('~/Desktop/image.png')
        >>> fig = model.plot()
        >>> fig.savefig(fn)
        >>> fig.clear()

        .. figure:: ../tests/resources/test_exponential_m4_plot.png
           :scale: 80%
           :align: center
           :alt: Example generated BMD plot

           BMD models can generate plots using the ``plot()`` method; an example
           is shown here.

def plot(self):
        """
        After model execution, print the dataset, curve-fit, BMD, and BMDL.

        Example
        -------

        >>> import os
        >>> fn = os.path.expanduser('~/Desktop/image.png')
        >>> fig = model.plot()
        >>> fig.savefig(fn)
        >>> fig.clear()

        .. figure:: ../tests/resources/test_exponential_m4_plot.png
           :scale: 80%
           :align: center
           :alt: Example generated BMD plot

           BMD models can generate plots using the ``plot()`` method; an example
           is shown here.

        """
        fig = self.dataset.plot()
        ax = fig.gca()
        ax.set_title(
            "{}\n{}, {}".format(self.dataset._get_dataset_name(), self.name, self.get_bmr_text())
        )
        if self.has_successfully_executed:
            self._set_x_range(ax)
            ax.plot(self._xs, self.get_ys(self._xs), label=self.name, **plotting.LINE_FORMAT)
            self._add_bmr_lines(ax)
        else:
            self._add_plot_failure(ax)

        ax.legend(**settings.LEGEND_OPTS)

        return fig