def plot_contvar_response()

in compert/plotting.py [0:0]


    def plot_contvar_response(self,
                            df_response,
                            response_name='response',
                            var_name=None,
                            df_ref=None,
                            palette=None,
                            title_name=None,
                            postfix='',
                            xlabelname=None,
                            filename=None,
                            logdose=False,
                            fontsize=None,
                            measured_points=None,
                            bbox=(1.35, 1.),
                            figsize=(7., 4.)
                            ):
        """
        Parameters
        ----------
        df_response : pd.DataFrame
            Data frame of responses.
        response_name : str (default: 'response')
            Name of column in df_response to plot as response.
        var_name : str, optional  (default: None)
            Name of conditioning variable, e.g. could correspond to covariates.
        df_ref : pd.DataFrame, optional  (default: None)
            Reference values. Fields for plotting should correspond to
            df_response.
        palette : dict, optional (default: None)
            Colors dictionary for perturbations to plot.
        title_name : str, optional (default: None)
            Title for the plot.
        postfix : str, optional (defualt: '')
            Postfix to add to the output file name to save the model.
        filename : str, optional (defualt: None)
            Name of the file to save the plot.  If None, will automatically
            generate name from prefix file.
        logdose: bool (default: False)
            If True, dose values will be log10. 0 values will be mapped to
            minumum value -1,e.g.
            if smallest non-zero dose was 0.001, 0 will be mapped to -4.
        figsize: tuple (default: (7., 4.))
            Size of output figure
        """
        if (filename is None) and not (self.fileprefix is None):
            filename = f'{self.fileprefix}_{postfix}response.png'

        if fontsize is None:
            fontsize = self.fontsize

        if logdose:
            dose_name = f'log10-{self.dose_key}'
            df_response[dose_name] = log10_with0(df_response[self.dose_key].values)
            if not (df_ref is None):
                df_ref[dose_name] = log10_with0(df_ref[self.dose_key].values)
        else:
            dose_name = self.dose_key

        if var_name is None:
            if len(self.unique_сovars) > 1:
                var_name = self.covars_key
            else:
                var_name = self.perturbation_key

        if palette is None:
            if var_name == self.perturbation_key:
                palette = self.perts_palette
            elif var_name == self.covars_key:
                palette = self.сovars_palette


        plot_dose_response(df_response,
                       dose_name,
                       var_name,
                       xlabelname=xlabelname,
                       df_ref=df_ref,
                       response_name=response_name,
                       title_name=title_name,
                       use_ref_response=(not (df_ref is None)),
                       col_dict=palette,
                       plot_vertical=False,
                       f1=figsize[0],
                       f2=figsize[1],
                       fname=filename,
                       logscale=measured_points,
                       measured_points=measured_points,
                       bbox=bbox,
                       fontsize=fontsize,
                       format='png')