Source code for rubin_sim.maf.plots.xyplotter

__all__ = ("XyPlotter",)

import matplotlib.pyplot as plt

from .plot_handler import BasePlotter


[docs] class XyPlotter(BasePlotter): """Bare-bones plotter for making scatter plots. Expects single metric value (e.g, from UniSlicer or UserPointSlicer with one point)""" def __init__(self): self.object_plotter = True self.plot_type = "simple" self.default_plot_dict = { "title": None, "xlabel": "", "ylabel": "", "figsize": None, } def __call__(self, metric_value_in, slicer, user_plot_dict, fig=None): plot_dict = {} plot_dict.update(self.default_plot_dict) plot_dict.update(user_plot_dict) plot_dict.update(metric_value_in[0]["plot_dict"]) if fig is None: fig = plt.figure(figsize=plot_dict["figsize"]) ax = fig.add_subplot(111) x = metric_value_in[0]["x"] y = metric_value_in[0]["y"] ax.plot(x, y) ax.set_title(plot_dict["title"]) ax.set_xlabel(plot_dict["xlabel"]) ax.set_ylabel(plot_dict["ylabel"]) return fig