Skip to content
Snippets Groups Projects
Commit cc7a4acf authored by Gregory Ashton's avatar Gregory Ashton
Browse files

Merge branch 'add-catch-for-labels-error' into 'master'

Adds a converter for latex labels

See merge request lscsoft/bilby!779
parents 8bc78e9c 6491d708
No related branches found
No related tags found
No related merge requests found
......@@ -927,6 +927,8 @@ class Result(object):
'labels', self.get_latex_labels_from_parameter_keys(
plot_parameter_keys))
kwargs["labels"] = sanity_check_labels(kwargs["labels"])
# Unless already set, set the range to include all samples
# This prevents ValueErrors being raised for parameters with no range
kwargs['range'] = kwargs.get('range', [1] * len(plot_parameter_keys))
......@@ -1584,6 +1586,8 @@ def plot_multiple(results, filename=None, labels=None, colours=None,
if labels is None:
labels = default_labels
labels = sanity_check_labels(labels)
if evidences:
if np.isnan(results[0].log_bayes_factor):
template = ' $\mathrm{{ln}}(Z)={lnz:1.3g}$'
......@@ -1720,6 +1724,14 @@ def make_pp_plot(results, filename=None, save=True, confidence_interval=[0.68, 0
return fig, pvals
def sanity_check_labels(labels):
""" Check labels for plotting to remove matplotlib errors """
for ii, lab in enumerate(labels):
if "_" in lab and "$" not in lab:
labels[ii] = lab.replace("_", "-")
return labels
class ResultError(Exception):
""" Base exception for all Result related errors """
......
......@@ -722,5 +722,12 @@ class TestResultListError(unittest.TestCase):
self.nested_results.combine()
class TestMiscResults(unittest.TestCase):
def test_sanity_check_labels(self):
labels = ["a", "$a$", "a_1", "$a_1$"]
labels_checked = bilby.core.result.sanity_check_labels(labels)
self.assertEqual(labels_checked, ["a", "$a$", "a-1", "$a_1$"])
if __name__ == "__main__":
unittest.main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment