topostats.plotting#

Plotting and summary of TopoStats output statistics.

Attributes#

Classes#

TopoSum

Class for summarising grain statistics in plots.

Functions#

toposum(→ Dict)

Process plotting and summarisation of data.

run_toposum([args])

Run Plotting

Module Contents#

topostats.plotting.LOGGER#
class topostats.plotting.TopoSum(df: pandas.DataFrame = None, base_dir: str | pathlib.Path = None, csv_file: str | pathlib.Path = None, stat_to_sum: str = None, molecule_id: str = 'molecule_number', image_id: str = 'image', hist: bool = True, stat: str = 'count', bins: int = 12, kde: bool = True, cut: float = 20, figsize: tuple = (16, 9), alpha: float = 0.5, palette: str = 'deep', file_ext: str = 'png', output_dir: str | pathlib.Path = '.', var_to_label: dict = None, hue: str = 'basename')[source]#

Class for summarising grain statistics in plots.

df#
base_dir#
stat_to_sum#
molecule_id#
image_id#
hist#
bins#
stat#
kde#
cut#
figsize#
alpha#
palette#
file_ext#
output_dir#
var_to_label#
hue#
melted_data = None#
summary_data = None#
label = None#
_setup_figure()[source]#

Setup Matplotlib figure and axes.

_outfile(plot_suffix: str) str[source]#

Generate the output file name with the appropriate suffix.

Parameters:

plot_suffix (str) – The suffix to append to the output file.

Returns:

Concanenated string of the outfile and plot_suffix.

Return type:

str

sns_plot() Tuple[matplotlib.pyplot.Figure, matplotlib.pyplot.Axes] | None[source]#

Plot the distribution of one or more statistics as either histogram, kernel density estimates or both. Uses base Seaborn.

Returns:

Tuple of Matplotlib figure and axes if plotting is successful, None otherwise.

Return type:

Optional[Union[Tuple[plt.Figure, plt.Axes], None]]

sns_violinplot() None[source]#

Violin plot of data.

static melt_data(df: pandas.DataFrame, stat_to_summarize: str, var_to_label: dict) pandas.DataFrame[source]#

Melt a dataframe into long format for plotting with Seaborn.

set_xlim(percent: float = 0.1) None[source]#

Set the range of the x-axis.

Parameters:
  • percent (float) – Percentage of the observed range by which to extend the x-axis. Only used if supplied range is outside the

  • values. (observed)

set_palette()[source]#

Set the color palette.

save_plot(outfile: pathlib.Path) None[source]#

Save the plot to the output_dir

Parameters:

outfile (str) – Output file name to save figure to.

_set_label(var: str)[source]#

Get the label based on the column name(s).

Parameters:

var (str) – The variable for which a label is required.

topostats.plotting.toposum(config: dict) Dict[source]#

Process plotting and summarisation of data.

Parameters:

config (dict) – Dictionary of summarisation options.

Returns:

Dictionary of nested dictionaries. Each variable has its own dictionary with keys ‘dist’ and ‘violin’ which

contain distribution like plots and violin plots respectively (if the later are required). Each ‘dist’ and

’violin’ is itself a dictionary with two elements ‘figures’ and ‘axes’ which correspond to MatplotLib ‘fig’ and ‘ax’ for that plot.

Return type:

Dict

topostats.plotting.run_toposum(args=None)[source]#

Run Plotting