Run Comparison¶
- rubin_sim.maf.run_comparison.bundle_dict_from_disk(result_db, run_name, metric_data_path)[source]¶
Load metric data from disk and import them into metricBundles. via PCW Hackathan 2020 Resources
- Parameters:
results_db (
dict
) – A ResultsDb objectrun_name (
str
) – The name of the opsim database for the metrics in results_dbmetric_data_path (
str
) – The path to the directory where the metric datafiles are stored.
- Returns:
bundle_dict – A dictionary of metricBundles reconstructed from the data stored on disk.
- Return type:
dict
- rubin_sim.maf.run_comparison.combine_result_dbs(run_dirs, dbfilename='resultsDb_sqlite.db')[source]¶
Helper function for gather_summaries
- Parameters:
run_dirs (list of str) – A list of directories to search for MAF result databases.
dbfilename (str (resultsDb_sqlite.db)) – The database filename to look for (default: resultsDb_sqlite.db).
- rubin_sim.maf.run_comparison.confusion_matrix_plot(comparison_matrix, xlabel, ylabel, run_name, t_e_range, save_folder)[source]¶
Plots a confusion matrix type plot comparing two metric types.
- Parameters:
comparison_matrix (
np.ndarray
, (N,)`) – Array comparing two metric types (A and B) with the following shape: [[(Yes A and Yes B), (Yes A and No B)], [(No A and Yes B), (No A and No B)]] where Yes A and Yes B are the number of events that pass both the A and B criteria.xlabel (
str
) – Sring of xlabel (also used in file name of figure)ylabel (
str
) – Sring of ylabel (also used in file name of figure)run_name (
str
) – Name of the OpSim run that was used in the metric (used in labels and file name)t_e_range (
str
) – String of the range of the tE (used in labels and file name)save_folder (
str
) – String of folder name to save figures
- rubin_sim.maf.run_comparison.create_metric_subset(metric_subset_name, metrics, short_name=None, style='-', invert=False, mag=False)[source]¶
Create a DataFrame that defines a metric subset.
- Parameters:
metric_subset_name (
str
) – The name of the new metric subset.metrics (
list
[str
]) – A list of metric names in the subset.short_name (
list
[str
], optional) – A list of shorter metric names, by default Nonestyle (
list
[str
], optional) – The matplotlib line style symbol for lines representing the metric, by default “-”invert (
list
[bool
], optional) –- Are smaller values of the metric better, such as for errors?,
by default False
mag (
list
[bool
], optional) – Is the metric an astronomical magnitude?, by default False
- Returns:
metric_subset – A table of metrics and normalization and plotting flags defining the content of a metric subset.
- Return type:
pandas.DataFrame
- rubin_sim.maf.run_comparison.describe_families(families, summary=None, table_metric_subset=None, plot_metric_subset=None, baseline_run=None, round_table=2)[source]¶
Display (in a jupyter on IPython notebook) family descirptions
- Parameters:
families (
pandas.DataFrame
) – Data family descriptions as returned by get_family_descriptions.summary (
pandas.DataFrame
) – Summary metrics for each run, as returned by get_metric_summaries.table_metric_subset (
pandas.DataFrame
) – Metadata on metrics to be included in the table, with columns and index as returned by get_metric_subsets. None if no metrics should be included in the table.plot_metric_subset (
pandas.DataFrame
) – Metadata on metrics to be included in the plot, with columns and index as returned by get_metric_subsets. None if no plot should be made.baseline_run (
str
) – The name of the run to use to normalize metrics in the plot. None if normalization should be skipped.round_table (
int
, opt) – Decimal places to which to round the table_metrics. Default 2.
- Returns:
fig (
matplotlib.figure.Figure
) – The plot figure.ax (
matplotilb.axes.Axes
) – The plot axes.
- rubin_sim.maf.run_comparison.detected_fisher_comparison(fisher_results, detect_results, fisher_sigmat_e_t_e_cutoff=0.1)[source]¶
Returns an array of the following form where A = fisher criteria and B = detection criteria: [[(Yes A and Yes B), (Yes A and No B)], [(No A and Yes B), (No A and No B)]] where Yes A and Yes B are the number of events that pass both the A and B criteria.
- Parameters:
fisher_results (
np.ndarray
, (N,)) – Array of results from running the Fisher metric of the microlensing metricdetect_results (
np.ndarray
, (N,)) – Array of results from running the detect metric of the microlensing metricfisher_sigmat_e_t_e_cutoff (
float
) – Maximum normalized uncertainty in tE (sigmatE/tE) as determined by 3sigma values of pubished planet microlensing candidates
- rubin_sim.maf.run_comparison.detected_npts_comparison(detect_results, npts_results, npts_required=10)[source]¶
Returns an array of the following form where A = detect criteria and B = npts criteria: [[(Yes A and Yes B), (Yes A and No B)], [(No A and Yes B), (No A and No B)]] where Yes A and Yes B are the number of events that pass both the A and B criteria.
- Parameters:
detect_results (
np.ndarray
, (N,)) – Array of results from running the detect metric of the microlensing metricnpts_results (
np.ndarray
, (N,)) – Array of results from running the Npts metric of the microlensing metricnpts_required (
int
) – Number of poitns within 2tE required for the number of points fraction.
- rubin_sim.maf.run_comparison.download_runs(runs, dest_dir=None, runs_source=None, clobber=False)[source]¶
Download opsim visit databases for specified runs to a local directory.
- Parameters:
runs (
pandas.DataFrame
or iterable [str
]) – If apandas.DataFrame
is provided, theOpsimRun
column will be used to get run names, and data will be read from the url specified in theurl
column. If a collection ofstr
is provided, these will be interpreted as run names supplied by data originating in the run metadata provided by theruns_source
parameter.dest_dir (
str
) – The local directory into which to write downloaded visit databases.runs_source (
str
) – File name or URL for the json file from which to load the metadata. If it is set toNone
, the data is loaded from the URL specified by thearchive.RUNS_SOURCE
constant. This parameter is ignored if theruns
parameter is set to apandas.DataFrame
.clobber (
bool
) – IfFalse
, runs that would clobber an existing file will be skipped. IfTrue
, existing files will be overwritten.
- Returns:
runs – Metadata on runs downloaded (in the same structure as the return of
archive.get_runs
).- Return type:
pandas.DataFrame
- rubin_sim.maf.run_comparison.fisher_npts_comparison(fisher_results, npts_results, npts_required=10, fisher_sigmat_e_t_e_cutoff=0.1)[source]¶
Returns an array of the following form where A = fisher criteria and B = npts criteria: [[(Yes A and Yes B), (Yes A and No B)], [(No A and Yes B), (No A and No B)]] where Yes A and Yes B are the number of events that pass both the A and B criteria.
- Parameters:
fisher_results (
np.ndarray
, (N,)) – Array of results from running the Fisher metric of the microlensing metricnpts_results (
np.ndarray
, (N,)) – Array of results from running the Npts metric of the microlensing metricnpts_required (
int
) – Number of poitns within 2tE required for the number of points fraction.fisher_sigmat_e_t_e_cutoff (
float
) – Maximum normalized uncertainty in tE (sigmatE/tE) as determined by 3sigma values of pubished planet microlensing candidates
- rubin_sim.maf.run_comparison.gather_summaries()[source]¶
Find resultsDbs in a series of directories and gather up their summary stats into a single CSV or hdf5 file. Outputs one row per unique run name.
- rubin_sim.maf.run_comparison.get_family_descriptions(family_source=None)[source]¶
Get description of families or funs.
- Parameters:
family_source (`str) – File name or URL for the json file from which to load the family descriptinos. If it is set to
None
, the data is loaded from the URL specified by thearchive.FAMILY_SOURCE
constant.- Returns:
families – Family descriptions, with comments.
- Return type:
pandas.DataFrame
- rubin_sim.maf.run_comparison.get_family_runs(run_source=None)[source]¶
Load a data frame that supplies run names for each run family
- Parameters:
run_source (
None
orstr
) – File name or URL for the json file from which to load the metadata. If it is set toNone
, the data is loaded from the URL specified by thearchive.RUNS_SOURCE
constant.- Returns:
families –
families
The index is the run family. (
str
)run
the project-standard name for the run (
str
)OpsimGroup
The name for the group to which the runs belong (
str
)OpsimComment
Short description of the run (
str
)OpsimVersion
Opsim version name (
str
)OpsimDate
Date for the version of opsim (TODO: ?)
brief
A list of descriptions for the run. Runs may have a different description for each family it belongs to, so it a list of the same length as the families column (
list
[str
])url
The URL from which the opsim output database for this run can be downloaded.
- Return type:
pandas.DataFrame
Notes
Because runs can be members of multiple families, more than one row may provide metadata on the same run.
The same content (in a different form) can be obtained using
get_runs
.get_runs
is more convenient when indexing by run;get_family_runs
when indexing by family.
- rubin_sim.maf.run_comparison.get_metric_subsets(metric_subset_source=None)[source]¶
Get metadata on named subsets of related metrics.
- Parameters:
metric_subset_source (
str
or None) – File name or URL for the json file from which to load the data. If it is set toNone
, the data is loaded frommetric_subsets.json
in the $rubin_sim_data.maf directory.- Returns:
metric_subsets –
metric_subset
The 1st level of the index is the name of a subset of metrics (
str
).metric
The 2nd level of the index is the full name of the metric (
str
).metric
The full name of the metric (
str
).short_name
An abbreviated name for the metric (
str
)..style
The
matplotlib
linestyle suggested for plots of the metric (str
).invert
When normalizing, invert the metric value first? (
bool
)mag
Is the value an (astronomical) magnitude? (
bool
)
- Return type:
pandas.DataFrame
- rubin_sim.maf.run_comparison.get_metric_summaries(run_families=(), metric_subsets=(), runs=(), metrics=(), summary_source=None, runs_source=None, metric_subset_source=None, run_order='family', metric_order='summary')[source]¶
Get summary metric values for a set of runs and metrics.
- Parameters:
run_families (iterable [
str
]) – Families of runs to include in the summary.metric_subsets (iterable [
str
]) – subsets of metrics to include in the summary.runs (iterable [
str
]) – Runs to include in the summary (in addition to any that are part of families included inrun_families
).metrics (iterable [
str
]) – Metrics to include in the summary (in addition to any that are part of subsets included inmetric_subsets
).summary_source (
str
orpandas.DataFrame
) – File name or URL for the file from which to load the data. If the supplied value is apandas.DataFrame
, it the table returned will be a subset of this supplied table.run_source (
pandas.DataFrame
orstr
) – Either apandas.DataFrame
of runs metadata (as returned byarchive.get_runs
), or a file name or URL for the json file from which to load the run metadata. If it is set toNone
, the data is loaded from the URL specified by thearchive.RUNS_SOURCE
constant.metric_subset_source (
pandas.DataFrame
orstr
) – Either apandas.DataFrame
of metric subset specifications (as returned byarchive.get_metric_subsets
) or a file name for the json file from which to load the data.run_order (
str
) – Sort runs according to family definition (“family”) or summary file (“summary”) order.metric_order (
str
) – Sort metrics according to subset definition (“subset”) or summary file (“summary”) order.
- Returns:
summaries – Metric summary values are returned in a
pandas.DataFrame
, with each column providing the metrics for one run, and each row the values for one metric. The metric names constitute the index, and the column names are the canonical run names.- Return type:
pandas.DataFrame
Note
The entire summary statistic values for all of the runs and metrics can be downloaded from the default sources first, by simply calling
summary = get_metric_summaries()
Then, you can use
get_metric_summaries
to get a subset without redownloading the whole set by passingsummary_source=summary
. If you are selecting multiple subsets of the summary, this avoids needing to download the summary data multiple times.
- rubin_sim.maf.run_comparison.get_results(df, run_type, fisher_sigmat_e_t_e_cutoff=0.1)[source]¶
Plots the results from the discovery/detect metric, Npts metric, and Fisher metric in three sub plots
- Parameters:
df (
pandas.Dataframe
) – Pandas dataframe of the results npz filerun_types (
np.ndarray
, (N,)) – Array of strings describing microlensing metric type: either ‘detect’, ‘Npts’, or ‘Fisher’ as parsed by the file namefisher_sigmat_e_t_e_cutoff (
float
) – Maximum normalized uncertainty in tE (sigmatE/tE) as determined by 3sigma values of pubished planet microlensing candidates
- rubin_sim.maf.run_comparison.get_results_dbs(result_db_path)[source]¶
Create a dictionary of result_db from result_db files via PCW Hackathan 2020 Resources
- Parameters:
result_db_path (
str
) – Path to the directory storing the result databases generated by MAF.- Returns:
result_dbs – A dictionary containing the ResultDb objects reconstructed from result databases in the provided directory.
- Return type:
dict
- rubin_sim.maf.run_comparison.get_runs(run_source=None)[source]¶
Load metadata on opsim runs into a
pandas.DataFrame
.- Parameters:
run_source (
None
orstr
) – File name or URL for the json file from which to load the metadata. If it is set toNone
, the data is loaded from the URL specified by thearchive.RUNS_SOURCE
constant.- Returns:
runs –
run
The index of the DataFrame is the project-standard name for the run (
str
)family
A list of run families to which this run belongs (
list
[str
])version
The simulation version
brief
A list of descriptions for the run. Runs may have a different description for each family it belongs to, so it a list of the same length as the families column (
list
[str
])filepath
The file path, relative to a base opsim output directory.
url
The URL from which the opsim output database for this run can be downloaded.
- Return type:
pandas.DataFrame
Notes
The same content (in a different form) can be obtained using
get_family_runs
.get_runs
is more convenient when indexing by run;get_family_runs
when indexing by family.
- rubin_sim.maf.run_comparison.microlensing_fom(save_folder, result_db_path, metric_data_path, figsize=None, figure_name='microlensing_fom')[source]¶
Processes a folder, puts together results for discovery/detect metric, Npts metric, and Fisher metric, and plots them in the four tE bins of 1 - 10 days, 10 - 30 days, 30 - 100 days, and 100 - 1000 days.
- Parameters:
result_db_path (
str
) – Path to the directory storing the result databases generated by MAF.metric_data_path (
str
) – Path to the directory storing the npz files generated by MAF.
- rubin_sim.maf.run_comparison.normalize_for_radar(summary, norm_run='baseline', invert_cols=None, reverse_cols=None, mag_cols=[])[source]¶
Normalize values in a dataframe to a given run, return output in a dataframe.
This provides a similar functionality as the normalize_metric_summaries method, and returns a similar dataframe. The options for specifying which columns to invert, reverse, or identify as ‘magnitudes’ are slightly different, instead of using a ‘metric_set’.
- Parameters:
summary (
pandas.DataFrame
) – The data frame containing the metric summary stats to normalize (such as fromget_metric_summaries
). Note that this should contain only the runs and metrics to be normalized – e.g.summary.loc[[list of runs], [list of metrics]]
summary should be indexed by the run name.norm_run (
str
) – The name of the run to use to define the normalization.invert_cols (
list
[str
]) – A list of column names that should be inverted (e.g., columns that are uncertainties and are better with a smaller value)reverse_cols (
list
[`str]) – Columns to reverse (e.g., magnitudes)mag_cols (
list
[str
]) – Columns that are in magnitudes
- rubin_sim.maf.run_comparison.normalize_metric_summaries(baseline_run, summary, metric_subsets=None)[source]¶
Create a normalized
pandas.DataFrame
of metric summary values.- Parameters:
baseline_run (
str
orlist
of `str) – The name of the run that defines a normalized value of 1. If a list is provided, the median value of each metric across that list is used as the reference.summary (
pandas.DataFrame
) – The summary metrics to normalize (as returned byget_metric_summaries
)metric_subsets (
pandas.DataFrame
) – Metric metadata as returned byarchive.get_metric_subsets
- Returns:
norm_summary – Metric summary values are returned in a
pandas.DataFrame
, with each column providing the metrics for one run, and each row the values for one metric. The metric names constitute the columns, and the index names are the canonical run names. Values of 1 indicate metric values that match that of the baseline, differences with with indicate fractional improvement (if > 1) or degradation (if < 1).- Return type:
pandas.DataFrame
- rubin_sim.maf.run_comparison.parse_t_e_run_types(name)[source]¶
Parses names of MicrolensingMetric file names
- Parameters:
name (
str
) – A MicrolensingMetric file name
- rubin_sim.maf.run_comparison.plot_compare(results, run_names, run_types, min_t_e, max_t_e, save_folder, npts_required=10)[source]¶
Plots confusion matrix type plots comparing fraction detected, characterized (via Fisher), and fraction of events with at least npts_required points within 2 tE
- Parameters:
results (
np.ndarray
, (N,)) – Results from the MicrolensingMetric from get_results() from the respective microlensing metric typerun_names (
np.ndarray
, (N,)) – Array of names of the OpSim run that was used in the metricrun_types (
np.ndarray
, (N,)) – Array of strings describing microlensing metric type: either ‘detect’, ‘Npts’, or ‘Fisher’ as parsed by the file namemin_t_e (
np.ndarray
, (N,)) – Array of values describing the minium einstein crossing time (tE) as parsed by the file namemax_t_e (
np.ndarray
, (N,)) – Array of values describing the maximum einstein crossing time (tE) as parsed by the file namesave_folder (
str
) – String of folder name to save figuresnpts_required (
int
) – Number of poitns within 2tE required for the number of points fraction.
- rubin_sim.maf.run_comparison.plot_fom(results, run_names, run_types, min_t_e, max_t_e, save_folder, figure_name, figsize)[source]¶
Plots the results from the discovery/detect metric, Npts metric, and Fisher metric in three sub plots
- Parameters:
results (
np.ndarray
, (N,)) – Results from the MicrolensingMetric from get_results() from the respective microlensing metric typerun_names (
np.ndarray
, (N,)) – Array of names of the OpSim run that was used in the metricrun_types (
np.ndarray
, (N,)) – Array of strings describing microlensing metric type: either ‘detect’, ‘Npts’, or ‘Fisher’ as parsed by the file namemin_t_e (
np.ndarray
, (N,)) – Array of values describing the minium einstein crossing time (tE) as parsed by the file namemax_t_e (
np.ndarray
, (N,)) – Array of values describing the maximum einstein crossing time (tE) as parsed by the file namesave_folder (
str
) – String of folder name to save figurefigure_name (
str
) – String of figure namefigsize ((
int
,int
)) – Tuple of figure size in inches. Default is None, which sets figsize = (25, 30)
- rubin_sim.maf.run_comparison.plot_run_metric(summary, baseline_run=None, vertical_quantity='run', horizontal_quantity='value', run_label_map=None, metric_label_map=None, metric_subset=None, ax=None, cmap=[[0.188235, 0.635294, 0.854902], [0.988235, 0.309804, 0.188235], [0.898039, 0.682353, 0.219608], [0.427451, 0.564706, 0.309804], [0.545098, 0.545098, 0.545098], [0.090196, 0.745098, 0.811765], [0.580392, 0.403922, 0.741176], [0.839216, 0.152941, 0.156863], [0.121569, 0.466667, 0.705882], [0.890196, 0.466667, 0.760784], [0.54902, 0.337255, 0.294118], [0.737255, 0.741176, 0.133333], [0.227451, 0.003922, 0.513725], [0.0, 0.262745, 0.0], [0.058824, 1.0, 0.662745], [0.368627, 0.0, 0.25098], [0.776471, 0.741176, 1.0], [0.258824, 0.313725, 0.321569], [0.721569, 0.0, 0.501961], [1.0, 0.717647, 0.701961], [0.490196, 0.007843, 0.0], [0.380392, 0.14902, 1.0], [1.0, 1.0, 0.603922], [0.682353, 0.788235, 0.670588], [0.0, 0.52549, 0.486275], [0.333333, 0.227451, 0.0], [0.580392, 0.988235, 1.0], [0.0, 0.74902, 0.0], [0.490196, 0.0, 0.627451], [0.670588, 0.447059, 0.0], [0.568627, 1.0, 0.0], [0.003922, 0.745098, 0.541176], [0.0, 0.270588, 0.482353], [0.784314, 0.509804, 0.435294], [1.0, 0.121569, 0.513725], [0.866667, 0.0, 1.0], [0.019608, 0.454902, 0.0], [0.392157, 0.266667, 0.380392], [0.533333, 0.560784, 1.0], [1.0, 0.713725, 0.956863], [0.32549, 0.384314, 0.215686], [0.807843, 0.521569, 1.0], [0.407843, 0.415686, 0.517647], [0.745098, 0.705882, 0.745098], [0.647059, 0.376471, 0.537255], [0.584314, 0.827451, 1.0], [0.003922, 0.0, 0.972549], [1.0, 0.501961, 0.007843], [0.545098, 0.160784, 0.270588], [0.678431, 0.627451, 0.427451], [0.32549, 0.270588, 0.545098], [0.784314, 1.0, 0.85098], [0.666667, 0.27451, 0.0], [1.0, 0.47451, 0.560784], [0.513725, 0.827451, 0.443137], [0.564706, 0.619608, 0.74902], [0.580392, 0.0, 0.960784], [0.921569, 0.815686, 0.607843], [0.678431, 0.545098, 0.694118], [0.0, 0.388235, 0.290196], [1.0, 0.862745, 0.0], [0.533333, 0.466667, 0.317647], [0.494118, 0.670588, 0.639216], [0.0, 0.0, 0.592157], [0.960784, 0.0, 0.776471], [0.396078, 0.2, 0.160784], [0.0, 0.4, 0.470588], [0.015686, 0.890196, 0.784314], [0.654902, 0.215686, 0.682353], [0.772549, 0.858824, 0.882353], [0.301961, 0.431373, 1.0], [0.607843, 0.576471, 0.003922], [0.803922, 0.345098, 0.419608], [0.937255, 0.870588, 0.996078], [0.47451, 0.352941, 0.0], [0.372549, 0.533333, 0.603922], [0.705882, 1.0, 0.572549], [0.368627, 0.447059, 0.419608], [0.321569, 0.0, 0.4], [0.019608, 0.529412, 0.317647], [0.517647, 0.12549, 0.435294], [0.235294, 0.588235, 0.019608], [0.396078, 0.45098, 0.0], [0.945098, 0.627451, 0.423529], [0.372549, 0.313725, 0.270588], [0.741176, 0.0, 0.290196], [0.815686, 0.407843, 0.152941], [0.843137, 0.588235, 0.670588], [0.537255, 0.364706, 1.0], [0.509804, 0.423529, 0.462745], [0.168627, 0.333333, 0.72549], [0.431373, 0.486275, 0.733333], [0.905882, 0.835294, 0.827451], [0.364706, 0.0, 0.094118], [0.486275, 0.231373, 0.003922], [0.501961, 0.694118, 0.490196], [0.784314, 0.85098, 0.490196], [0.0, 0.909804, 0.231373], [0.486275, 0.698039, 1.0], [1.0, 0.333333, 1.0], [0.643137, 0.152941, 0.129412], [0.113725, 0.894118, 1.0], [0.490196, 0.686275, 0.231373], [0.482353, 0.294118, 0.568627], [0.878431, 1.0, 0.282353], [0.419608, 0.0, 0.768627], [0.803922, 0.658824, 0.592157], [0.745098, 0.388235, 0.768627], [0.537255, 0.803922, 0.807843], [0.27451, 0.011765, 0.784314], [0.368627, 0.572549, 0.47451], [0.254902, 0.290196, 0.003922], [0.019608, 0.654902, 0.615686], [0.811765, 0.54902, 0.215686], [1.0, 0.972549, 0.815686], [0.262745, 0.329412, 0.443137], [0.709804, 0.266667, 1.0], [0.811765, 0.286275, 0.576471], [0.811765, 0.643137, 0.87451], [0.580392, 0.831373, 0.0], [0.654902, 0.580392, 0.854902], [0.176471, 0.647059, 0.345098], [0.552941, 0.890196, 0.713725], [0.643137, 0.662745, 0.615686], [0.423529, 0.360784, 0.717647], [1.0, 0.494118, 0.368627], [0.654902, 0.513725, 0.541176], [0.686275, 0.745098, 0.847059], [0.164706, 0.768627, 1.0], [0.65098, 0.407843, 0.239216], [0.964706, 0.568627, 0.996078], [0.529412, 0.294118, 0.392157], [1.0, 0.047059, 0.294118], [0.129412, 0.368627, 0.137255], [0.258824, 0.572549, 1.0], [0.529412, 0.513725, 0.615686], [0.403922, 0.176471, 0.270588], [0.694118, 0.309804, 0.254902], [0.0, 0.305882, 0.32549], [0.372549, 0.105882, 0.0], [0.678431, 0.254902, 0.403922], [0.313725, 0.196078, 0.403922], [0.839216, 1.0, 0.992157], [0.498039, 0.709804, 0.819608], [0.662745, 0.72549, 0.411765], [1.0, 0.588235, 0.796078], [0.784314, 0.454902, 0.584314], [0.211765, 0.313725, 0.223529], [1.0, 0.815686, 0.388235], [0.368627, 0.345098, 0.384314], [0.529412, 0.580392, 0.462745], [0.662745, 0.470588, 1.0], [0.011765, 0.784314, 0.388235], [0.905882, 0.745098, 0.831373], [0.831373, 0.890196, 0.815686], [0.529412, 0.403922, 0.564706], [0.537255, 0.486275, 0.152941], [0.803922, 0.862745, 1.0], [0.666667, 0.403922, 0.419608], [0.196078, 0.203922, 0.454902], [1.0, 0.368627, 0.662745], [0.0, 0.607843, 0.690196], [0.443137, 1.0, 0.866667], [0.470588, 0.360784, 0.219608], [0.313725, 0.396078, 0.607843], [0.8, 0.0, 0.701961], [0.341176, 0.482353, 0.333333], [0.317647, 0.431373, 0.482353], [0.003922, 0.372549, 0.572549], [0.666667, 0.741176, 0.745098], [0.003922, 0.498039, 0.6], [0.015686, 0.866667, 0.592157], [0.529412, 0.227451, 0.172549], [0.941176, 0.588235, 0.556863], [0.458824, 0.776471, 0.666667], [0.439216, 0.411765, 0.364706], [0.8, 0.862745, 0.035294], [0.686275, 0.521569, 0.341176], [0.847059, 0.0, 0.458824], [0.615686, 0.247059, 0.505882], [0.85098, 0.270588, 0.0], [0.866667, 0.403922, 0.329412], [0.372549, 1.0, 0.47451], [0.835294, 0.694118, 0.45098], [0.384314, 0.14902, 0.368627], [0.729412, 0.635294, 0.239216], [0.85098, 0.94902, 0.701961], [0.341176, 0.007843, 0.560784], [0.631373, 0.607843, 0.666667], [0.301961, 0.290196, 0.152941], [0.643137, 0.662745, 1.0], [0.67451, 0.909804, 0.858824], [0.6, 0.34902, 0.003922], [0.67451, 0.0, 0.886275], [0.278431, 0.509804, 0.184314], [0.796078, 0.764706, 0.678431], [0.0, 0.772549, 0.713725], [0.380392, 0.32549, 0.470588], [0.2, 0.427451, 0.407843], [0.647059, 0.572549, 0.501961], [0.517647, 0.6, 0.635294], [0.992157, 0.341176, 0.392157], [0.439216, 0.588235, 0.823529], [0.447059, 0.552941, 0.027451], [0.498039, 0.0, 0.298039], [0.082353, 0.188235, 0.627451], [0.819608, 0.756863, 0.886275], [0.788235, 0.521569, 0.815686], [0.423529, 0.270588, 0.294118], [0.498039, 0.0, 0.141176], [0.0, 0.635294, 0.47451], [0.698039, 0.662745, 0.811765], [0.976471, 0.0, 0.0], [0.690196, 0.913725, 1.0], [0.576471, 0.619608, 0.313725], [0.447059, 0.478431, 0.509804], [0.85098, 0.180392, 0.333333], [0.278431, 0.380392, 0.003922], [0.0, 0.34902, 1.0], [0.466667, 0.25098, 0.709804], [0.67451, 0.894118, 0.376471], [0.403922, 0.270588, 0.145098], [0.321569, 0.364706, 0.317647], [0.584314, 0.45098, 0.407843], [0.662745, 0.894118, 0.603922], [0.639216, 0.0, 0.345098], [0.85098, 0.384314, 0.964706], [0.556863, 0.490196, 0.811765], [1.0, 0.741176, 0.576471], [0.639216, 0.0, 0.572549], [0.603922, 1.0, 0.72549], [0.654902, 0.760784, 1.0], [0.956863, 0.384314, 0.0], [0.898039, 0.941176, 1.0], [0.721569, 0.611765, 0.643137], [0.376471, 0.588235, 0.580392], [1.0, 0.623529, 0.207843], [0.54902, 0.160784, 0.0], [0.447059, 0.419608, 0.196078], [0.87451, 0.509804, 0.305882], [0.686275, 0.482353, 0.835294], [0.737255, 0.176471, 0.0], [0.482353, 0.435294, 0.639216], [0.282353, 0.262745, 0.384314], [0.780392, 0.639216, 1.0], [0.0, 0.301961, 0.156863], [0.768627, 0.776471, 0.556863], [0.878431, 0.282353, 0.843137], [0.905882, 0.913725, 0.396078], [0.898039, 0.756863, 0.043137], [0.0, 0.956863, 0.945098], [0.623529, 0.356863, 0.635294], [0.298039, 0.254902, 0.717647], [0.396078, 0.2, 0.556863], [0.462745, 0.494118, 0.423529], [0.662745, 0.541176, 0.211765]], linestyles=None, markers=['o'], shade_fraction=0.05)[source]¶
Plot normalized metric values as colored points on a cartesian plane.
- Parameters:
summary (
pandas.DataFrame
) – Values to be plotted. Should only include runs and metrics that should actually appear on the plot.baseline_run (
str
) – Name of the run to use as the baseline for normalization (see (archive.normalize_metric_summaries).vertical_quantity ({'run', 'metric', 'value'}) – Should the run, metric name, or metric value be mapped onto the y axis?
horizontal_quantity ({'run', 'metric', 'value'}) – Should the run, metric name, or metric value be mapped onto the x axis?
vwidth (
float
) – The width of the plot, in normalized metrics summary units. (The limits of the x axis will be 1-vwidth/2 and 1+width/2).run_label_map (mapping) – A python
mapping
between canonical run names and run labels as they should appear on plot labels. Use of this option is discouraged, because it makes it harder to match plots to data. run_label_map could be created by archive.get_runs().loc[these_runs][‘brief’]metric_label_map (mapping) – A python
mapping
between canonical metric names and metric labels as they should appear on plot labels. Use this option carefully, because it makes it harder to match plots to metric calculation code.. metric_label_map could be equivalent to metric_subset[‘short_name’]metric_subset (
pandas.DataFrame
) – Metric metadata as returned byarchive.get_metric_subsets
ax (
matplotlib.axes.Axes
) – The axes on which to plot the data.cmap (
matplotlib.colors.ColorMap
) – The color map to use for point colors.linestyles (
list
) – A list of matplotlib linestyles to use to connect the linesmarkers (
list
, opt) – A list of matplotlib markers to use to represent the pointsshade_fraction (
float
, opt) – Add a red/green shading to the plot, starting at 1 +/- shade_fraction. Set to 0 or None for no shading.
- Returns:
fig (
matplotlib.figure.Figure
) – The plot figure.ax (
matplotilb.axes.Axes
) – The plot axes.
The run order and metric order (imposed into the summary dataframe passed here as
summary
) are important and preserved in the plot. These should be set in the (subset)summary
dataframe passed here; the metric_subset is available, but used for normalization and plot styling.
- rubin_sim.maf.run_comparison.plot_run_metric_mesh(summary, metric_subset=None, baseline_run=None, color_range=1, run_label_map=None, metric_label_map=None, ax=None, cmap=<matplotlib.colors.LinearSegmentedColormap object>)[source]¶
Plot normalized metric values as colored points on a cartesian plane.
- Parameters:
summary (
pandas.DataFrame
) – Values to be plotted. Should only include runs and metrics that should actually appear on the plot.baseline_run (
str
) – Name of the run to use as the baseline for normalization (see (archive.normalize_metric_summaries).color_range (
float
) – The color range of the plot, in normalized metrics summary units. (The color range will be 1-color_range/2 and 1+color_range/2).run_label_map (mapping) – A python
mapping
between canonical run names and run labels as they should appear on plot labels.metric_label_map (mapping) – A python
mapping
between canonical metric names and metric labels as they should appear on plot labels.ax (
matplotlib.axes.Axes
) – The axes on which to plot the data.cmap (
matplotlib.colors.ColorMap
) – The color map to use for point colors. A red/blue diverging color map - CET_D1A_r or CET_D1_r A rainbow diverging color map - CET_R3_r
- Returns:
fig (
matplotlib.figure.Figure
) – The plot figure..ax (
matplotilb.axes.Axes
) – The plot axes.
- rubin_sim.maf.run_comparison.plot_run_metric_uncert(summary, uncertainty, run_label_map=None, metric_label_map=None, metric_subset=None, cmap=None, linestyles=['-'], markers=['.'], sep_plots=True, ax=None)[source]¶
Plot normalized metric values as colored points on a cartesian plane.
- Parameters:
summary (
pandas.DataFrame
) – Values to be plotted. Should only include runs and metrics that should actually appear on the plot.uncertainty (
pandas.DataFrame
) – Uncertainty values to plot on each data point. Should match summary metric columns.run_label_map (mapping) – A python
mapping
between canonical run names and run labels as they should appear on plot labels. Use of this option is discouraged, because it makes it harder to match plots to data. run_label_map could be created by archive.get_runs().loc[these_runs][‘brief’]metric_label_map (mapping) – A python
mapping
between canonical metric names and metric labels as they should appear on plot labels. Use this option carefully, because it makes it harder to match plots to metric calculation code.. metric_label_map could be equivalent to metric_subset[‘short_name’]metric_subset (
pandas.DataFrame
) – Metric metadata as returned byarchive.get_metric_subsets
ax (
matplotlib.axes.Axes
) – The axes on which to plot the data.cmap (
matplotlib.colors.ColorMap
) – The color map to use for point colors.linestyles (
list
) – A list of matplotlib linestyles to use to connect the linesmarkers (
list
, opt) – A list of matplotlib markers to use to represent the points
- Returns:
fig (
matplotlib.figure.Figure
) – The plot figure.ax (
matplotilb.axes.Axes
) – The plot axes.
The run order and metric order (imposed into the summary dataframe passed here as
summary
) are important and preserved in the plot. These should be set in the (subset)summary
dataframe passed here; the metric_subset is available, but used for ‘invert’ and plot styling and alternate labels.