leaspy.io.logs.visualization ============================ .. py:module:: leaspy.io.logs.visualization Submodules ---------- .. toctree:: :maxdepth: 1 /reference/api/leaspy/io/logs/visualization/plotter/index /reference/api/leaspy/io/logs/visualization/plotting/index Classes ------- .. autoapisummary:: leaspy.io.logs.visualization.Plotter leaspy.io.logs.visualization.Plotting Package Contents ---------------- .. py:class:: Plotter(output_path = None) Class defining some plotting tools. :Parameters: **output_path** : :obj:`str`, (optional) Folder where plots will be saved. If None, default to current working directory. .. !! processed by numpydoc !! .. py:attribute:: output_path :value: None .. py:method:: plt_show() Display the current matplotlib figure if `self._show` is True. This method wraps `matplotlib.pyplot.show` using the internal flags `_show` and `_block` to control interactive plotting. .. !! processed by numpydoc !! .. py:method:: plot_mean_trajectory(model, *, n_pts = 100, n_std_left = 3, n_std_right = 6, **kwargs) Plot the mean model trajectory. :Parameters: **model** : :class:`McmcSaemCompatibleModel` or iterable of such Model(s) to compute the mean trajectory for. **n_pts** : :obj:`int`, optional Number of timepoints to evaluate between the start and end. Default=100. **n_std_left** : :obj:`int`, optional How many standard deviations before the mean to plot. Default=3. **n_std_right** : :obj:`int`, optional How many standard deviations after the mean to plot. Default=6. **\*\*kwargs** - ``color`` : iterable of colors - ``title`` : :obj:`str`, plot title - ``save_as`` : :obj:`str`, filename to save the plot :Raises: LeaspyInputError If the model(s) is/are not initialized. .. !! processed by numpydoc !! .. py:method:: plot_mean_validity(model, results, **kwargs) Plot histogram of reparametrized times for all individuals. :Parameters: **model** : :class:`McmcSaemCompatibleModel` Fitted model providing `tau_mean` and `tau_std`. **results** : object Results containing `data` and `individual_parameters` with keys ``xi`` and ``tau``. **\*\*kwargs** - ``save_as`` : :obj:`str`, filename to save the plot. .. !! processed by numpydoc !! .. py:method:: plot_patient_trajectory(model, results, indices, **kwargs) Plot observed data and reconstructed trajectory for one or more patients. :Parameters: **model** : :class:`McmcSaemCompatibleModel` Model to use for computing individual trajectories. **results** : object Results containing data and individual parameters. **indices** : :obj:`str` or list of :obj:`int` Patient index/indices to plot. **\*\*kwargs** - ``ax`` : matplotlib axis to plot on. - ``color`` : iterable of colors. - ``title`` : :obj:`str`, plot title. - ``save_as`` : :obj:`str`, filename to save the plot. .. !! processed by numpydoc !! .. py:method:: plot_from_individual_parameters(model, indiv_parameters, timepoints, **kwargs) Plot a trajectory computed from given individual parameters. :Parameters: **model** : :class:`McmcSaemCompatibleModel` Model used to compute the trajectory. **indiv_parameters** : DictParamsTorch Individual parameter dictionary. **timepoints** : :obj:`torch.Tensor` Timepoints at which to compute the trajectory. **\*\*kwargs** - ``color`` : iterable of colors. - ``save_as`` : :obj:`str`, filename to save the plot. .. !! processed by numpydoc !! .. py:method:: plot_distribution(results, parameter, cofactor=None, **kwargs) Plot histogram(s) of an estimated parameter distribution. :Parameters: **results** : object Results containing a `get_parameter_distribution` method. **parameter** : :obj:`str` Parameter name to plot. **cofactor** : optional Grouping variable; if given, plot separate histograms per group. **\*\*kwargs** - ``save_as`` : :obj:`str`, filename to save the plot. .. !! processed by numpydoc !! .. py:method:: plot_correlation(results, parameter_1, parameter_2, cofactor=None, **kwargs) Plot scatter correlation between two parameters. :Parameters: **results** : object Results containing a `get_parameter_distribution` method. **parameter_1** : :obj:`str` First parameter name. **parameter_2** : :obj:`str` Second parameter name. **cofactor** : optional Grouping variable; if given, scatter different colors per group. **\*\*kwargs** - ``save_as`` : :obj:`str`, filename to save the plot. .. !! processed by numpydoc !! .. py:method:: plot_patients_mapped_on_mean_trajectory(model, results, *, n_std_left = 2, n_std_right = 4, n_pts = 100) Plot observed patient values mapped onto the mean trajectory. :Parameters: **model** : :class:`McmcSaemCompatibleModel` Model used for computing mean and individual trajectories. **results** : object Results containing data and individual parameters. **n_std_left** : :obj:`int`, optional How many standard deviations before the mean to plot. Default=2. **n_std_right** : :obj:`int`, optional How many standard deviations after the mean to plot. Default=4. **n_pts** : :obj:`int`, optional Number of timepoints to evaluate. Default=100. .. !! processed by numpydoc !! .. py:method:: plot_error(path, dataset, model, param_ind, colors=None, labels=None) :classmethod: .. py:method:: plot_patient_reconstructions(path, dataset, model, param_ind, *, max_patient_number = 5, attribute_type=None) :classmethod: .. py:method:: plot_param_ind(path, param_ind) :staticmethod: .. py:method:: plot_convergence_model_parameters(path, path_saveplot_1, path_saveplot_2, model) :staticmethod: .. py:class:: Plotting(model, output_path='.', palette='tab10', max_colors=10) .. deprecated:: 1.2 Class defining some plotting tools. :Parameters: **model** : :class:`~leaspy.models.BaseModel` The used model. **output_path** : :obj:`str`, (optional) Folder where plots will be saved. If None, default to current working directory. **palette** : :obj:`str` (palette name) or :class:`matplotlib.colors.Colormap` (`ListedColormap` or `LinearSegmentedColormap`) The palette to use. **max_colors** : :obj:`int` > 0, optional (default, corresponding to model nb of features) Only used if palette is a string .. !! processed by numpydoc !! .. py:attribute:: model .. py:attribute:: color_palette :value: None .. py:attribute:: standard_size :value: (8, 4) .. py:attribute:: linestyle .. py:attribute:: linewidth .. py:attribute:: alpha .. py:attribute:: output_path :value: '.' .. py:method:: set_palette(palette, max_colors=None) Set palette of plots :Parameters: **palette** : :obj:`str` (palette name) or :class:`matplotlib.colors.Colormap` (`ListedColormap` or `LinearSegmentedColormap`) The palette to use. **max_colors** : :obj:`int` > 0, optional (default, corresponding to model nb of features) Only used if palette is a string .. !! processed by numpydoc !! .. py:method:: colors(at=None) Wrapper over color_palette iterator to get colors :Parameters: **at** : any legit color_palette arg (int, float or iterable of any of these) or None (default) if None returns all colors of palette upto model dimension :Returns: **colors** : single color tuple (RGBA) or np.array of RGBA colors (number of colors x 4) .. .. !! processed by numpydoc !! .. py:method:: average_trajectory(**kwargs) Plot the population average trajectories. They are parametrized by the population parameters derived during the calibration. :Parameters: **\*\*kwargs** * alpha: :obj:`float`, default 0.6 Matplotlib's transparency option. Must be in [0, 1]. * linestyle: {'-', '--', '-.', ':', '', (offset, on-off-seq), ...} Matplotlib's linestyle option. * linewidth: :obj:`float` Matplotlib's linewidth option. * features: list[:obj:`str`] Name of features (if set it must be a subset of model features) Default: all model features. * colors: list[:obj:`str`] Contains matplotlib compatible colors. At least as many as number of features. * labels: list[:obj:`str`] Used to rename features in the plot. Exactly as many as number of features. Default: raw variable name of each feature * ax: matplotlib.axes.Axes Axes object to modify, instead of creating a new one. * figsize: tuple of int The figure's size. * save_as: :obj:`str`, default None Path to save the figure. * title: :obj:`str` * n_tpts: :obj:`int` Number of timepoints in plot (default: 100) * n_std_left, n_std_right: :obj:`float` (default: 3 and 6 resp.) Time window around `tau_mean`, expressed as times of max(`tau_std`, 4) :Returns: :class:`matplotlib.axes.Axes` .. .. !! processed by numpydoc !! .. py:method:: patient_observations(data, patients_idx='all', individual_parameters=None, **kwargs) Plot patient observations :Parameters: **data** : :class:`.Data` .. **patients_idx** : 'all' (default), :obj:`str` or list[:obj:`str`] Patients to display (by their ID). **individual_parameters** : :class:`.IndividualParameters` or :class:`pandas.DataFrame` (as may be output by ip.to_dataframe()) or dict (Pytorch ip format), optional If not None, observations are plotted with respect to reparametrized ages. .. !! processed by numpydoc !! .. py:method:: patient_observations_reparametrized(data, individual_parameters, patients_idx='all', **kwargs) Plot patient observations (reparametrized ages) .. !! processed by numpydoc !! .. py:method:: patient_trajectories(data, individual_parameters, patients_idx='all', reparametrized_ages=False, **kwargs) Plot patient observations together with model individual reconstruction :Parameters: **data** : :class:`.Data` .. **individual_parameters** : :class:`.IndividualParameters` or :class:`pandas.DataFrame` (as may be output by ip.to_dataframe()) or dict (Pytorch ip format) .. **patients_idx** : 'all' (default), :obj:`str` or list[:obj:`str`] Patients to display (by their ID). **reparametrized_ages** : :obj:`bool` (default False) Should we plot trajectories in reparam age or not? to study source impact essentially **\*\*kwargs** cf. :meth:`._plot_model_trajectories` In particular, pass marker=None if you don't want observations besides model .. !! processed by numpydoc !!