@classmethod
    def plot_options(cls, obj, percent_size):
        """
        Given a holoviews object and a percentage size, apply heuristics
        to compute a suitable figure size. For instance, scaling layouts
        and grids linearly can result in unwieldy figure sizes when there
        are a large number of elements. As ad hoc heuristics are used,
        this functionality is kept separate from the plotting classes
        themselves.

        Used by the IPython Notebook display hooks and the save
        utility. Note that this can be overridden explicitly per object
        using the fig_size and size plot options.
        """
        from .plot import MPLPlot
        factor = percent_size / 100.0
        obj = obj.last if isinstance(obj, HoloMap) else obj
        options = Store.lookup_options(cls.backend, obj, 'plot').options
        fig_inches = options.get('fig_inches', MPLPlot.fig_inches)

        if isinstance(fig_inches, (list, tuple)):
            fig_inches =  (None if fig_inches[0] is None else fig_inches[0] * factor,
                           None if fig_inches[1] is None else fig_inches[1] * factor)
        else:
            fig_inches = MPLPlot.fig_inches * factor

        return dict({'fig_inches':fig_inches},
                    **Store.lookup_options(cls.backend, obj, 'plot').options)
dataset/ETHPy150Open ioam/holoviews/holoviews/plotting/mpl/renderer.py/MPLRenderer.plot_options/original