Je suis très nouveau avec ces bibliothèques et j'ai des problèmes pour écrire ceci:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import random
df5 = pd.read_csv('../../../../datos/tiempos-exacto-variando-n-m0.csv', sep=', ', engine='python')
print(df5)
df5['n'] = df5['n'].apply(lambda x: x**2)
sns.jointplot(df5['n'], df5['tiempoTotal'], kind="reg")
sns.plt.show()
Et je reçois cette sortie:
n m tiempoTotal
0 1 0 2274
1 2 0 3370
2 3 0 5709
3 4 0 8959
4 5 0 13354
5 6 0 18503
6 7 0 26329
7 8 0 33859
8 9 0 41110
9 10 0 52710
10 11 0 64364
11 12 0 74142
12 13 0 81072
13 14 0 69332
14 15 0 71027
15 16 0 89721
16 17 0 85459
17 18 0 95217
18 19 0 119210
19 20 0 136888
20 21 0 131903
21 22 0 138395
22 23 0 151222
23 24 0 163542
24 25 0 177236
25 26 0 192475
26 27 0 240162
27 28 0 260701
28 29 0 235752
29 30 0 250835
.. ... .. ...
580 581 0 88306854
581 582 0 89276420
582 583 0 87457875
583 584 0 90807004
584 585 0 87790003
585 586 0 89821530
586 587 0 89486585
587 588 0 88496901
588 589 0 89090661
589 590 0 89110803
590 591 0 90397942
591 592 0 94029839
592 593 0 92749859
593 594 0 105991135
594 595 0 95383921
595 596 0 105155207
596 597 0 114193414
597 598 0 98108892
598 599 0 97888966
599 600 0 103802453
600 601 0 97249346
601 602 0 101917488
602 603 0 104943847
603 604 0 98966140
604 605 0 97924262
605 606 0 97379587
606 607 0 97518808
607 608 0 99839892
608 609 0 100046492
609 610 0 103857464
[610 rows x 3 columns]
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-21-63146953b89d> in <module>()
9 df5['n'] = df5['n'].apply(lambda x: x**2)
10 sns.jointplot(df5['n'], df5['tiempoTotal'], kind="reg")
---> 11 sns.plt.show()
AttributeError: 'module' object has no attribute 'plt'
J'exécute ceci dans mon Jupyter Notebook
avec Python 2.7.12
. Des idées?
sns.plt.show()
fonctionne bien pour moi avec seaborn 0.7.1. Cela pourrait être différent dans d'autres versions. Cependant, si vous avez toujours import matplotlib.pyplot as plt
, vous pouvez aussi simplement utiliser plt.show()
, car sns.plt.show()
ne fonctionne que parce que pyplot
est disponible dans l’espace de noms seaborn.
Eh bien, j'ai rencontré ce problème également avec Seaborn 0.8.1. Il s'avère que pouvoir appeler sns.plt.show()
est une mauvaise pratique et le fait que cela fonctionne était un bogue que le développeur a corrigé. Malheureusement, il existe de nombreux tutoriels là-bas qui conseillent encore d’utiliser sns.plt.show()
. Voici comment je l'ai résolu:
import matplotlib.pyplot as plt
sns.set()
- important, car sinon vous n'obtiendrez pas les palettes Seaborn.sns.plt
par plt
À partir de Seaborn 0.8.1, sns.plt.plot()
soulève l’erreur module 'seaborn' has no attribute 'plt'
.
sns.plot()
génère également une erreur; ces méthodes ne sont pas dans API de Seaborn.
Supprimer les “sns.” Pour laisser “plt.plot ()” (comme le suggèrent d'autres réponses) fonctionne, mais uniquement parce que nous avons appelé la méthode sns.set () précédemment en place dans le script. . ie _ {Seaborn opère un changement esthétique: Matplotlib est toujours l’objet, qui effectue le traçage, via sa méthode plt.plot ().
Ce script affiche sns.set () en action ... si vous suivez les commentaires et permutez sns.set () entre différents emplacements dans le script, cela change l'apparence des sous-parcelles. Ils ressemblent à des complots Seaborn, mais Matplotlib le fait.
Bien entendu, Seaborn a ses propres méthodes de tracé (comme sns.boxplot (), sns.violinplot (), etc.), mais il n’existe plus de méthode sns.plt.plot ().
Je ne peux pas commenter parce que mauvaise réputation (débutant ici)
Je veux juste confirmer que j'ai eu la même erreur en utilisant Jupyter dans Anaconda (février 2018). Vous avez obtenu le code de ici mais l'erreur est survenue. Il s'avère que je dois simplement ajouter
import matplotlib
au dessus de
import seaborn as sns
et cela fonctionne très bien en utilisant plt.show()
au lieu de sns.plt.show()
Assurez-vous d'avoir mis à jour votre shell python ainsi que les IDE tels qu'Anaconda. Comme si j'avais une erreur constante dans Spyder (hébergé sous Anaconda) avec relplot et catplot jusqu'à ce que je mette à jour Anaconda ainsi que seaborn (0,90).