Source code for SALib.util.results

import pandas as pd  # type: ignore
from SALib.plotting.bar import plot as barplot


[docs] class ResultDict(dict): """Dictionary holding analysis results. Conversion methods (e.g. to Pandas DataFrames) to be attached as necessary by each implementing method """ def __init__(self, *args, **kwargs): super(ResultDict, self).__init__(*args, **kwargs)
[docs] def to_df(self): """Convert dict structure into Pandas DataFrame.""" return pd.DataFrame( {k: v for k, v in self.items() if k != "names"}, index=self["names"] )
[docs] def plot(self, ax=None): """Create bar chart of results""" Si_df = self.to_df() if isinstance(Si_df, (list, tuple)): import matplotlib.pyplot as plt # type: ignore if ax is None: fig, ax = plt.subplots(1, len(Si_df)) for idx, f in enumerate(Si_df): barplot(f, ax=ax[idx]) axes = ax else: axes = barplot(Si_df, ax=ax) return axes