Matplotlib diagramme en boîte des tracts ne montrant pas
Je me demandais si quelqu'un avait un problème avec Matplotlib du diagramme en boîte des tracts ne pas montrer?
J'ai littéralement copier-collé cet exemple, ici dans un script python:
http://blog.bharatbhole.com/creating-boxplots-with-matplotlib/
...mais le diagramme en boîte des tracts (valeurs aberrantes) ne s'affichent pas. Personne ne sait pourquoi je ne pourrais pas les voir? Désolé si c'est une question stupide, mais je ne peux pas pour la vie de me comprendre pourquoi ça ne fonctionne pas.
## Create data
np.random.seed(10)
collectn_1 = np.random.normal(100, 10, 200)
collectn_2 = np.random.normal(80, 30, 200)
collectn_3 = np.random.normal(90, 20, 200)
collectn_4 = np.random.normal(70, 25, 200)
## combine these different collections into a list
data_to_plot = [collectn_1, collectn_2, collectn_3, collectn_4]
# Create a figure instance
fig = plt.figure(1, figsize=(9, 6))
# Create an axes instance
ax = fig.add_subplot(111)
# Create the boxplot
bp = ax.boxplot(data_to_plot)
J'ai aussi essayé d'ajouter showfliers=True
à la dernière ligne de ce script, mais ça ne marche toujours pas.
C'est ce que j'obtiens en sortie:
- J'ai reproduit l'original par un copier-coller de ce code. Avez-vous autre chose chargés? La grille / arrière-plan coloration / unité de polices de caractères semblent tous non-standard.
- Je suis à l'aide d'un iPython notebook... je devrais l'avons déjà dit. Qui pourrait être pourquoi. Savez-vous comment mettre la mise en forme par défaut Matplotlib paramètres?
Vous devez vous connecter pour publier un commentaire.
De l'apparence de votre parcelle de terrain, il semble que vous avez importé le seaborn module. Il y a un question avec matplotlib boîte à moustaches des tracts ne s'affiche pas lorsque seaborn est importé, même lorsque les insectes sont explicitement activé. Votre code semble fonctionner correctement lorsque seaborn n'est pas importé:
Quand seaborn est importé, vous pouvez effectuer les opérations suivantes:
Solution 1:
En supposant que vous avez importé seaborn comme ceci:
import seaborn as sns
vous pouvez utiliser le seaborn boîte à moustaches de la fonction:
sns.boxplot(data_to_plot, ax=ax)
résultant dans:
Solution 2:
Dans le cas où vous souhaitez continuer à utiliser la matplotlib boîte à moustaches de la fonction (à partir de Automatique (moustaches sensibles) ylim dans boxplots):
ax.boxplot(data_to_plot, sym='k.')
résultant dans:
Vous ne pourriez pas voir fliers si le prospectus d'marqueur a été mis à
None
. Le la page que vous avez associé a unfor flier in bp['fliers']:
boucle, qui définit le dépliant marqueur de style, de couleur et alpha:rendements
marker=None
? Changer l'marker='o'
génère de votre graphique (pour moi).marker
réglage.bp['fliers']
, mais je ne peux pas trouver un moyen d'extraire les valeurs. Tant que j'ai des valeurs, je pense que je peux parcelle sur mon diagramme en boîte.[line.get_data() for line in bp['fliers']]
mais il devrait y avoir un moyen de configurer IPython ou matplotlib/seaborn pour afficher les documents automatiquement.