Percentile Plot

In the SimBiology Model Analyzer app, you can visualize time course data and its corresponding statistics using a percentile plot. The plot shows the percentile curves over time for an array of time courses along with other data statistics such as mean, standard deviation, minimum, and maximum values.

To show a percentile plot, select a data source that contains time courses in the Browser pane, then click percentile in the Plot section on the Home tab. For a workflow example, see Visualize Simulation Statistics and Overlay Experimental Data Using Percentile Plot.

Display Options

Each response in a percentile plot has three display options, which you can configure.

• Percentiles — Shows the percentile curves. By default, the plot shows 5th and 95th percentiles. Scan programs with more than 40 samples use percentile plots as default plots. You can change this default cutoff in Preferences > Programs > Plots. This is the default display type for simulation data.

• Mean — Shows the mean and standard deviation of response data at each time point. This is the default display type for experimental data.

• Raw Data — Shows the original response data points at each time point. Percentile Options

The Percentiles section provides the following options to configure the percentile curves.

OptionDescription
Show percentiles (%)Percentiles to plot. Enter one or more nonnegative numbers between 0 and 100 or any MATLAB® expression that results in a nonnegative number or vector of values between 0 and 100 in ascending order.
Show medianLogical flag to show or hide the median line in the plot.
Show raw data fraction (%)Percentage of time courses to show in the plot. Enter a nonnegative integer between 0 and 100.
Time vector

Common time vector to which all time courses are interpolated before calculating the percentiles.

The default auto option calculates a common time vector with time points that are evenly spaced between the minimum and maximum times from data.

Enter a vector of nonnegative numbers or MATLAB expression that results in a vector of nonnegative numbers that are in ascending order.

Interpolation method

Method used to interpolate time courses onto a common time vector. The app calls interp1 with the specified method. For simulation data, the app treats multiple response values at the same time point as a discontinuity and performs piecewise interpolation between such time points. For experimental data, the app treats these response values at the same time point as repeated measurements and uses the mean of all measurements at the same time point.

Display styleDisplay format to show lines, shading, or both.

For details on how the app computes the percentile curves and other statistics, see Calculation of Percentile Curves, Mean, and Other Statistics.

Mean Options

The Mean section provides the following options to configure the plots.

OptionDescription
Show meanLogical flag to show the mean response value at each time point. The plot uses the marker o to represent mean values.
Show standard deviationLogical flag to show ±1 standard deviation of the response value at each time point. The plot shows error bars to indicate the standard deviations.
Show min/max

Logical flag to show the derived minimum and maximum response values at each time point.

To calculate these values, the app first interpolates all the time courses to a common time vector and then computes the statistics, such as min, max, mean, and standard deviation, at each time point on the common time vector across all interpolated time courses. Hence the interpolated maximum and minimum values at a given time point shown in the percentile plot may not match those values of the raw data exactly.

The plot uses the marker * to indicate the minimum and maximum values.

Show raw data fraction (%)Percentage of time courses to show in the plot. Enter a nonnegative integer between 0 and 100.
Time vector

Common time vector to which all time courses are interpolated before calculating the minimum, maximum, and mean values.

The default auto option calculates a common time vector with time points that are evenly spaced between the minimum and maximum times from data.

Enter a vector of nonnegative numbers or MATLAB expression that results in a vector of nonnegative numbers that are in ascending order.

Interpolation method

Method used to interpolate time courses onto a common time vector. The app calls interp1 with the specified method. For simulation data, the app treats multiple response values at the same time point as a discontinuity and performs piecewise interpolation between such time points. For experimental data, the app treats these response values at the same time point as repeated measurements and uses the mean of all measurements at the same time point.

Display styleDisplay format to show lines, markers, or both.

For details on how the app computes the mean, minimum, maximum response values, and other statistics, see Calculation of Percentile Curves, Mean, and Other Statistics.

Calculation of Percentile Curves, Mean, and Other Statistics

The app computes the percentile curves, mean, minimum, maximum response values, and other statistics using the following steps.

1. The app obtains a common time vector by using the code specified in the Time vector option or by automatically computing it as a linearly spaced vector of times between the minimum and maximum times across all the groups (or runs) in the input data source.

2. It then interpolates the response time course for each group or run onto the common time vector using interp1 with the method specified in the Interpolation method option. For simulation data, the app treats multiple response values at the same time point as a discontinuity and performs piecewise interpolation between such time points. For experimental data, the app treats data at the same time point as repeated measurements and uses the mean of all measurements at those time points.

3. The app then calculates the corresponding statistics, such as percentiles, mean, max, standard deviation, for each time point in the common time vector across all groups for that time point in the interpolated time courses.

Note

Because of interpolation, calculated maximum and minimum values might be different than those values from the original data.

4. It then generates a plot using the calculated statistics against the common time vector according to the Display style option. 