web-dev-qa-db-fra.com

Le module Seaborn n'a pas d'attribut '<n'importe quel graphe>'

J'ai du mal à passer de ggplot2 à Seaborn. Utilisant actuellement Anaconda v. 4.5.8 et Python 3.6.3

Tout graphique que j'utilise est introuvable. Par exemple, je peux prendre n'importe quel code du site de Seaborn et exécuter:

import matplotlib as plt
import seaborn as sns
sns.set(style="ticks")

dots = sns.load_dataset("dots")

# Define a palette to ensure that colors will be
# shared across the facets
palette = dict(Zip(dots.coherence.unique(),
                   sns.color_palette("rocket_r", 6)))

# Plot the lines on two facets
sns.relplot(x="time", y="firing_rate",
            hue="coherence", size="choice", col="align",
            size_order=["T1", "T2"], palette=palette,
            height=5, aspect=.75, facet_kws=dict(sharex=False),
            kind="line", legend="full", data=dots)
sns.plt.show() #this was not on site code but tried it(plt.show() as referenced by other posts)

Message d'erreur:

  File "<ipython-input-8-893759310442>", line 13, in <module>
    sns.relplot(x="time", y="firing_rate",

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

Regardé ces messages (entre autres)

(1) AtributeError: l'objet 'module' n'a pas d'attribut 'plt' - Seaborn

(2) Seaborn ImportError: DLL échec du chargement: le module spécifié est introuvable.

(3) ImportError après une installation réussie du pip

(4) Erreur lors de l'importation du module Seaborn en Python

et essayé les méthodes d'installation/de désinstallation décrites (python -m pip installer seaborn, désinstaller Seaborn/réinstaller, etc.).

Je n'ai pas passé beaucoup de temps avec PATH, mais voici des captures d'écran:

conda

pip

Des idées?

Merci beaucoup

20
HowdyDude

Vous avez trouvé cet exemple dans la version la plus récente du module seaborn, qui est 0.9. De la section "Quoi de neuf dans chaque version" :

Nouvelles parcelles relationnelles

Trois nouvelles fonctions de tracé ont été ajoutées: relplot (), scatterplot () et lineplot ().

Vous devez donc mettre à jour Seaborn avec la dernière version pour utiliser ces fonctions de traçage.

33
DavidG

J'ai eu le même problème. La réponse choisie est correcte, vous avez une version plus ancienne, mais il y a eu quelques blocages que j'ai rencontrés. Voici ce qui s'est passé et comment je l'ai corrigé. J'ai d'abord essayé:

conda update seaborn

qui n’a pas installé seaborn 0.9.0, mais plutôt une version 0.8.x. J'ai ensuite fait

conda remove seaborn
conda install seaborn=0.9.0

qui toujours installé une version plus ancienne. Je l'ai finalement fait fonctionner en utilisant pip3

pip3 install seaborn==0.9.0

Ce qui a fonctionné correctement et résolu les intrigues manquantes que vous avez mentionnées. Tant que vous faites cela dans votre environnement conda, cela devrait fonctionner comme s'il s'agissait d'une installation.

26
Jonathan Fry

Première désinstallation de seaborn:

conda remove seaborn
pip uninstall seaborn

Ensuite, essayez de télécharger et d'installer la dernière version:

pip3 --no-cache-dir install seaborn

Cela a fonctionné pour moi.

7
Loc Nguyen