Source code for cell_abm_pipeline.tasks.make_scatter_figure

from typing import Optional

import matplotlib.figure as mpl
import matplotlib.pyplot as plt
import pandas as pd
from prefect import task


[docs]@task def make_scatter_figure(data: pd.DataFrame, colormap: Optional[dict] = None) -> mpl.Figure: fig = plt.figure(figsize=(4, 4), constrained_layout=True) ax = fig.add_subplot() ax.set_box_aspect(1) if colormap is not None: ax.scatter(data["x"], data["y"], c=data["v"].map(colormap), s=10) else: ax.scatter(data["x"], data["y"], c=data["v"], cmap="magma_r", s=10) return fig