Files
Submissions-App/src/submissions/frontend/visualizations/pcr_charts.py
2025-03-26 14:19:13 -05:00

29 lines
1.0 KiB
Python

"""
Functions for constructing irida controls graphs using plotly.
"""
from pprint import pformat
from . import CustomFigure
from PyQt6.QtWidgets import QWidget
import logging, plotly.express as px, pandas as pd
logger = logging.getLogger(f"submissions.{__name__}")
class PCRFigure(CustomFigure):
def __init__(self, df: pd.DataFrame, modes: list, settings: dict, ytitle: str | None = None, parent: QWidget | None = None,
months: int = 6):
super().__init__(df=df, modes=modes, settings=settings)
self.df = df
self.construct_chart(df=df)
def construct_chart(self, df: pd.DataFrame):
try:
scatter = px.scatter(data_frame=df, x='submitted_date', y="ct",
hover_data=["name", "target", "ct", "reagent_lot"],
color="target")
except ValueError:
scatter = px.scatter()
self.add_traces(scatter.data)
self.update_traces(marker={'size': 15})