3 ö└A]5M Ń @ sý d Z ddljZddljZddlZddl Z ddlZddl jZddlmZ ddlZddljZddlZddlZddlZddlmZ ejâ G ddä dâZddä Zd*d däZdd ä Zddä Z ddä Z!d+ddäZ"G ddä dâZ#d,ddäZ$d-d(d)äZ%dS ).zs visualize.py ======================= Plots SHAP outputs, UMAP embeddings, and overlays predictions on top of WSI. Ú N)┌Image)┌joinc @ s@ e Zd ZdZddä Zdddddd gd dg fdd äZdddäZdS )┌ PlotlyPlotzCreates plotly html plots.c C s g | _ d S )N)┌plots)┌selfę r ˙E/Users/joshualevy/Documents/GitHub/PathFlowAI/pathflowai/visualize.py┌__init__ s zPlotlyPlot.__init__N┌color┌name┌x┌y┌zÚ g ?c sz g } t |â\} }}|| jtjkr~| jtj|| || || ddt|| ||dtddŹdŹ|t|âkrn|| n|| dŹâ n˘|| j â } t jdt| ââë tj d d ä ł D ââë |rÂ|ë ç fddätt| ââD â}xá|jâ D ]ö\}}| jtj|| || |k || || |k || || |k t|âdt|||d Źdt|âkÉrT|j|| |k n|| || |k dŹâ q┌W |dk Érjg g g }}}x┤|jâ D ]Ę}|d |jjkÉrľ|d |jjkÉrľ||j|d | f |j|d | f dg7 }||j|d |f |j|d |f dg7 }||j|d |f |j|d |f dg7 }ÉqľW | jtj|||dtjjdddŹddŹâ | jj| â dS )aŤ Adds plotting data to be plotted. Parameters ---------- t_data_df:dataframe 3-D transformed dataframe. G:nx.Graph Networkx graph. color_col:str Column to use to color points. name_col:str Column to use to name points. xyz_cols:list 3 columns that denote x,y,z coords. size:int Marker size. opacity:float Marker opacity. custom_colors:list Custom colors to supply. ┌ ┌markers┌ViridisZColorbar)┌title)r ┌size┌opacity┌ colorscale┌colorbar)r r r r ┌mode┌marker┌text┌hlsc S s6 g | ].}d j djtj|âd jtâjtâjâ ââĹqS )zrgb({})˙,Ú )┌formatr ┌np┌array┌astype┌int┌str┌tolist)┌.0Zc_ir r r ˙ <listcomp>; s z'PlotlyPlot.add_plot.<locals>.<listcomp>c s i | ]\}}ł | |ôqS r r )r% ┌ir )┌cr r ˙ <dictcomp>>