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[str]) – A list of directories to search for MAF result databases.dbfilename (
str) – 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.DataFrameor iterable [str]) – If apandas.DataFrameis provided, theOpsimRuncolumn will be used to get run names, and data will be read from the url specified in theurlcolumn. If a collection ofstris provided, these will be interpreted as run names supplied by data originating in the run metadata provided by theruns_sourceparameter.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_SOURCEconstant. This parameter is ignored if therunsparameter 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_SOURCEconstant.- 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 (
Noneorstr) – 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_SOURCEconstant.- Returns:
families –
familiesThe index is the run family. (
str)runthe project-standard name for the run (
str)OpsimGroupThe name for the group to which the runs belong (
str)OpsimCommentShort description of the run (
str)OpsimVersionOpsim version name (
str)OpsimDateDate for the version of opsim (TODO: ?)
briefA 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])urlThe 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_runsis more convenient when indexing by run;get_family_runswhen 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 (
stror 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.jsonin the $rubin_sim_data.maf directory.- Returns:
metric_subsets –
metric_subsetThe 1st level of the index is the name of a subset of metrics (
str).metricThe 2nd level of the index is the full name of the metric (
str).metricThe full name of the metric (
str).short_nameAn abbreviated name for the metric (
str)..styleThe
matplotliblinestyle suggested for plots of the metric (str).invertWhen normalizing, invert the metric value first? (
bool)magIs 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 (
strorpandas.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.DataFrameorstr) – Either apandas.DataFrameof 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_SOURCEconstant.metric_subset_source (
pandas.DataFrameorstr) – Either apandas.DataFrameof 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_summariesto 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 (
Noneorstr) – 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_SOURCEconstant.- Returns:
runs –
runThe index of the DataFrame is the project-standard name for the run (
str)familyA list of run families to which this run belongs (
list[str])versionThe simulation version
briefA 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])filepathThe file path, relative to a base opsim output directory.
urlThe 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_runsis more convenient when indexing by run;get_family_runswhen 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.DataFrameof metric summary values.- Parameters:
baseline_run (
strorlistof `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
mappingbetween 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
mappingbetween 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_subsetsax (
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)summarydataframe 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
mappingbetween canonical run names and run labels as they should appear on plot labels.metric_label_map (mapping) – A python
mappingbetween 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
mappingbetween 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
mappingbetween 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_subsetsax (
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)summarydataframe passed here; the metric_subset is available, but used for ‘invert’ and plot styling and alternate labels.