petab.visualize
Visualize
PEtab comes with visualization functionality. Those need to be imported via import petab.visualize.
- class petab.visualize.DataProvider(exp_conditions: DataFrame, measurements_data: Optional[DataFrame] = None, simulations_data: Optional[DataFrame] = None)[source]
Bases:
object
Handles data selection.
- _get_independent_var_values(data_df: DataFrame, dataplot: DataPlot) Tuple[ndarray, str, Series] [source]
Get independent variable values.
- Parameters
data_df – A pandas data frame to subset, can be from measurement file or simulation file.
dataplot – Data plot visualization settings.
- Returns
col_name_unique – A name of the column from Measurement (Simulation) table, which specifies independent variable values (depends on the xValues entry of visualization specification). Possible values:
TIME (independent variable values will be taken from the TIME column of Measurement (Simulation) table)
SIMULATION_CONDITION_ID (independent variable values will be taken from one of the columns of Condition table)
uni_condition_id – Time points or contains all unique condition IDs which should be plotted together as one dataplot. Independent variable values will be collected for these conditions
conditions_ – An independent variable values or None for the BarPlot case possible values: time points, None, vales of independent variable (Parameter or Species, specified in the xValues entry of visualization specification) for each condition_id in uni_condition_id
- static _matches_plot_spec(df: DataFrame, plot_spec: DataPlot, dataset_id) Series [source]
Construct an index for subsetting of the dataframe according to what is specified in plot_spec.
- Parameters
df – A pandas data frame to subset, can be from measurement file or simulation file.
plot_spec – A visualization spec from the visualization file.
- Returns
Boolean series that can be used for subsetting of the passed
dataframe
- get_data_series(data_df: DataFrame, data_col: Literal['measurement', 'simulation'], dataplot: DataPlot, provided_noise: bool) DataSeries [source]
Get data to plot from measurement or simulation DataFrame.
- Parameters
data_df (measurement or simulation DataFrame) –
data_col (data column, i.e. 'measurement' or 'simulation') –
dataplot (visualization specification) –
provided_noise – True if numeric values for the noise level are provided in the data table
- Return type
Data to plot
- get_data_to_plot(dataplot: DataPlot, provided_noise: bool) Tuple[DataSeries, DataSeries] [source]
Get data to plot.
- Parameters
dataplot (visualization specification) –
provided_noise – True if numeric values for the noise level are provided in the measurement table
- Returns
measurements_to_plot,
simulations_to_plot
- class petab.visualize.Figure(subplots: Optional[List[Subplot]] = None, size: Tuple = (20, 15), title: Optional[Tuple] = None)[source]
Bases:
object
Visualization specification of a figure.
Contains information regarding how data should be visualized.
- add_subplot(subplot: Subplot) None [source]
Add subplot.
- Parameters
subplot – Subplot visualization settings.
- save_to_tsv(output_file_path: str = 'visuSpec.tsv') None [source]
Save full Visualization specification table.
Note that datasetId column in the resulting table might have been generated even though datasetId column in Measurement table is missing or is different. Please, correct it manually.
- Parameters
output_file_path – File path to which the generated visualization specification is saved.
- set_axes_limits(xlim: Optional[Tuple[Optional[Real], Optional[Real]]] = None, ylim: Optional[Tuple[Optional[Real], Optional[Real]]] = None) None [source]
Set axes limits for all subplots. If xlim or ylim or any of the tuple items is None, corresponding limit is left unchanged.
- Parameters
xlim – X axis limits.
ylim – Y axis limits.
- class petab.visualize.MPLPlotter(figure: Figure, data_provider: DataProvider)[source]
Bases:
Plotter
Matplotlib wrapper
- static _error_column_for_plot_type_data(plot_type_data: str) Optional[str] [source]
Translate PEtab plotTypeData value to column name of internal data representation
- Parameters
plot_type_data (PEtab plotTypeData value) –
- Return type
Name of corresponding column
- static _square_plot_equal_ranges(ax: matplotlib.pyplot.Axes, lim: Optional[Union[List, Tuple]] = None) matplotlib.pyplot.Axes [source]
Square plot with equal range for scatter plots.
- Return type
Updated axis object.
- generate_barplot(ax: matplotlib.pyplot.Axes, dataplot: DataPlot, plotTypeData: str) None [source]
Generate barplot.
- Parameters
ax – Axis object.
dataplot – Visualization settings for the plot.
plotTypeData – Specifies how replicates should be handled.
- generate_figure(subplot_dir: Optional[str] = None, format_: str = 'png') Optional[Dict[str, AxesSubplot]] [source]
Generate the full figure based on the markup in the figure attribute.
- Parameters
subplot_dir – A path to the folder where single subplots should be saved. PlotIDs will be taken as file names.
format – File format for the generated figure. (See
matplotlib.pyplot.savefig()
for supported options).
- Returns
ax – Axis object of the created plot.
None – In case subplots are saved to file.
- generate_lineplot(ax: matplotlib.pyplot.Axes, dataplot: DataPlot, plotTypeData: str) None [source]
Generate lineplot.
It is possible to plot only data or only simulation or both.
- Parameters
ax – Axis object.
dataplot – Visualization settings for the plot.
plotTypeData – Specifies how replicates should be handled.
- petab.visualize.plot_problem(petab_problem: Problem, simulations_df: Optional[Union[str, DataFrame]] = None, grouping_list: Optional[List[List[str]]] = None, group_by: str = 'observable', plotted_noise: str = 'MeanAndSD', subplot_dir: Optional[str] = None, plotter_type: str = 'mpl') Optional[Dict[str, AxesSubplot]] [source]
Visualization using petab problem. If Visualization table is part of the petab_problem, it will be used for visualization. Otherwise, grouping_list will be used. If neither Visualization table nor grouping_list are available, measurements (simulations) will be grouped by observable, i.e. all measurements for each observable will be visualized on one plot.
- Parameters
petab_problem – A PEtab problem
simulations_df – A simulation DataFrame in the PEtab format or path to the simulation output data file.
grouping_list – A list of lists. Each sublist corresponds to a plot, each subplot contains the Ids of datasets or observables or simulation conditions for this plot.
group_by – Possible values: ‘dataset’, ‘observable’, ‘simulation’
plotted_noise – A string indicating how noise should be visualized: [‘MeanAndSD’ (default), ‘MeanAndSEM’, ‘replicate’, ‘provided’]
subplot_dir – A string which is taken as path to the folder where single subplots should be saved. PlotIDs will be taken as file names.
plotter_type – Specifies which library should be used for plot generation. Currently, only matplotlib is supported
- Returns
ax (Axis object of the created plot.)
None (In case subplots are saved to a file.)
- petab.visualize.plot_with_vis_spec(vis_spec_df, conditions_df: Union[str, DataFrame], measurements_df: Optional[Union[str, DataFrame]] = None, simulations_df: Optional[Union[str, DataFrame]] = None, subplot_dir: Optional[str] = None, plotter_type: str = 'mpl', format_: str = 'png') Optional[Dict[str, AxesSubplot]] [source]
Plot measurements and/or simulations. Specification of the visualization routines is provided in visualization table.
- Parameters
vis_spec_df (visualization table) –
conditions_df – A condition DataFrame in the PEtab format or path to the condition file.
measurements_df – A measurement DataFrame in the PEtab format or path to the data file.
simulations_df – A simulation DataFrame in the PEtab format or path to the simulation output data file.
subplot_dir – A path to the folder where single subplots should be saved. PlotIDs will be taken as file names.
plotter_type – Specifies which library should be used for plot generation. Currently, only matplotlib is supported.
format – File format for the generated figure. (See
matplotlib.pyplot.savefig()
for supported options).
- Returns
ax (Axis object of the created plot.)
None (In case subplots are saved to a file.)
- petab.visualize.plot_without_vis_spec(conditions_df: Union[str, DataFrame], grouping_list: Optional[List[List[str]]] = None, group_by: str = 'observable', measurements_df: Optional[Union[str, DataFrame]] = None, simulations_df: Optional[Union[str, DataFrame]] = None, plotted_noise: str = 'MeanAndSD', subplot_dir: Optional[str] = None, plotter_type: str = 'mpl', format_: str = 'png') Optional[Dict[str, AxesSubplot]] [source]
Plot measurements and/or simulations. What exactly should be plotted is specified in a grouping_list. If grouping list is not provided, measurements (simulations) will be grouped by observable, i.e. all measurements for each observable will be visualized on one plot.
- Parameters
grouping_list – A list of lists. Each sublist corresponds to a plot, each subplot contains the Ids of datasets or observables or simulation conditions for this plot.
group_by – Grouping type. Possible values: ‘dataset’, ‘observable’, ‘simulation’
conditions_df – A condition DataFrame in the PEtab format or path to the condition file.
measurements_df – A measurement DataFrame in the PEtab format or path to the data file.
simulations_df – A simulation DataFrame in the PEtab format or path to the simulation output data file.
plotted_noise – A string indicating how noise should be visualized: [‘MeanAndSD’ (default), ‘MeanAndSEM’, ‘replicate’, ‘provided’]
subplot_dir – A path to the folder where single subplots should be saved. PlotIDs will be taken as file names.
plotter_type – Specifies which library should be used for plot generation. Currently, only matplotlib is supported
format – File format for the generated figure. (See
matplotlib.pyplot.savefig()
for supported options).
- Returns
ax (Axis object of the created plot.)
None (In case subplots are saved to a file.)
Modules
Command-line interface for visualization. |
|
Functions for creating an overview report of a PEtab problem |
|
This file should contain the functions, which PEtab internally needs for plotting, but which are not meant to be used by non-developers and should hence not be directly visible/usable when using import petab.visualize. |
|
Functions for plotting PEtab measurement files and simulation results in the same format. |
|
PEtab visualization plotter classes |
|
PEtab visualization data selection and visualization settings classes |