Skip to content

AttributeError: module 'seaborn' has no attribute 'categorical' #73

@pepsiv

Description

@pepsiv

Sorry to bother you again.

Firstly, GraphCompass is a wonderful job. But when I try to create a boxplot of WWL with significance showing, a new issue appears.

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
Cell In[23], [line 5](vscode-notebook-cell:?execution_count=23&line=5)
      1 # Note: a smaller Wasserstein distance indicates a higher similarity between the two graphs, 
      2 # while a larger distance indicates less similarity.
----> [5](vscode-notebook-cell:?execution_count=23&line=5) gc.pl.wlkernel.compare_conditions(
      6     adata=adata,
      7     library_key=library_key,
      8     condition_key=condition_key,
      9     control_group=control_group,
     10     metric_key=metric_key,
     11     method=method,
     12     figsize=(3,5),
     13     dpi=100,
     14     add_sign=True,
     15     #save="figures/visium_wwlkerenl.pdf"
     16 )

File ~/anaconda3/envs/yzx_GraphCompass_3.11/lib/python3.11/site-packages/graphcompass/pl/_WLkernel.py:143, in compare_conditions(adata, library_key, condition_key, control_group, metric_key, method, fig, ax, return_ax, figsize, dpi, color, palette, add_sign, save, **kwargs)
    140                 pairs.append((contrasts[i], contrasts[j]))
    142         from statannot import add_stat_annotation
--> [143](https://vscode-remote+ssh-002dremote-002bd04.vscode-resource.vscode-cdn.net/home/lixiangyu/yzx/GraphCompass/notebooks/wlkernel/~/anaconda3/envs/yzx_GraphCompass_3.11/lib/python3.11/site-packages/graphcompass/pl/_WLkernel.py:143)         add_stat_annotation(data=df_for_plot, x="contrast", y="vals",
    144                             ax=ax,
    145                             box_pairs=pairs,
    146                             test='t-test_ind', text_format='star', loc='outside', verbose=2, comparisons_correction=None)
...
    440         estimator=np.mean, ci=95, n_boot=1000, units=None,
    441         orient=None, color=None, palette=None, saturation=.75,
    442         errcolor=".26", errwidth=None, capsize=None, dodge=True)

AttributeError: module 'seaborn' has no attribute 'categorical'

It seems that there is a conflict between statannot and seaborn>=0.13.0. However, scanpy must need a seaborn>=0.13.0 version.

I have read the code of statannot and seaborn, ''statannot: box_plotter = sns.categorical._BoxPlotter'' is conflict to ''seaborn: barplot''.

Image
Image

I will appreciate it if you can provide a new method to add significance.

Best wishes!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions