65 votes

Graphique Plotly ne s'affiche pas dans le notebook Jupyter

J'ai essayé de résoudre ce problème pendant des heures. J'ai suivi les étapes sur le site de Plotly et le graphique ne s'affiche toujours pas dans le notebook.

Voici mon code pour le graphique :

colorway = ['#f3cec9', '#e7a4b6', '#cd7eaf', '#a262a9', '#6f4d96', '#3d3b72', '#182844']

data = [
    go.Scatter(
        x = immigration.columns,
        y = immigration.loc[state],
                   name=state) for state in immigration.index]

layout = go.Layout(
    title='Immigration',
    yaxis=dict(title='Immigration %'),
    xaxis=dict(title='Années'),
    colorway=colorway,
    font=dict(family='Courier New, monospace', size=18, color='#7f7f7f')
)

fig = go.Figure(data=data, layout=layout)
iplot(fig)

Et voici tout ce que j'ai importé dans mon notebook :

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import plotly.plotly as py
import plotly.graph_objs as go
from plotly.offline import init_notebook_mode, iplot

init_notebook_mode(connected=True)

0 votes

Vous ne pouvez pas créer plusieurs tracés de cette manière, la boucle n'a pas fonctionné dans ce cas. Si vous n'avez pas beaucoup d'états, essayez de créer chaque tracé pour chaque état. Comme indiqué ici. Et changez chaque y en nom de l'état. Ensuite, créez une liste de tracés et nommez-la data comme dans l'exemple.

0 votes

@Oysiyl merci, mais cela ne répond en fait pas à ma question. Le graphique s'affiche, mais dans un onglet séparé. Ce que j'aimerais faire, c'est pouvoir le voir dans mon cahier et non dans un onglet séparé.

0voto

Gorkem Points 302

Ceux qui ont des problèmes (même après avoir installé l'extension) peuvent essayer de changer de rendu. Cela a fonctionné pour moi sur JupyterLab sur Chrome.

Notez que cela créera un répertoire d'images iframe et non un fichier html pur.

Si vous utilisez JupyterLab, installez l'extension JupyterLab

jupyter labextension install jupyterlab-plotly

Ajoutez cette ligne avant py.iplot ou fig.show()

import plotly.io as pio
pio.renderers.default = 'iframe'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X