__main__.gera_grafico(w1, mostrar_curvas) No docs available

Hi, everybody!!

I’m having problem using plotly in streamlit. It displays this error:

__main__.gera_grafico(w1, mostrar_curvas)

No docs available.

It happens after the code:

st.write(interact(gera_grafico, w1=(0,100,1), mostrar_curvas=False));

gera_grafico function is:

    def gera_grafico(w1, mostrar_curvas):
        fig = go.Figure()

        # Desenha um ponto com o retorno e a volatilidade da carteira
        fig.add_scatter(y=[carteira.iloc[w1]['retorno']],
                        x=[carteira.iloc[w1]['volatilidade']],
                        text=['CARTEIRA'],
                        mode='markers+text', name='CARTEIRA')
        # Desenha os pontos das ações individuais
        fig.add_scatter(y=carteira.iloc[[-1, 0]]['retorno'],
                        x=carteira.iloc[[-1, 0]]['volatilidade'],
                        text=ativos,
                        mode='markers+text', name='Ações')
        # Desenha a curva
        fig.add_scatter(y=carteira['retorno'],
                        x=carteira['volatilidade'],
                        mode='lines', name='Curva',
                        visible=mostrar_curvas)
        # Plotar a carteira da volatilidade mínima
        fig.add_scatter(y=[carteira.loc[min_vol_idx]['retorno']],
                        x=[carteira.loc[min_vol_idx]['volatilidade']],
                        mode='markers',
                        name='Carteira de Mínima Variância',
                        visible=mostrar_curvas)

        # Desenha a fronteira eficiente
        fig.add_scatter(y=fe['retorno'],
                        x=fe['volatilidade'],
                        mode='lines', name='Fronteira Eficiente',
                        line={'color': 'red'},
                        visible=mostrar_curvas)

        fig.update_traces(textfont_size=12,
                          textposition='middle right',
                          textfont_color='white',
                          hovertemplate='<b>retorno: </b> %{y:.1%}' +
                                        '<br><b>volatilidade:</b> %{x:.1%}')
        fig.layout.autosize = False
        fig.layout.xaxis.title = 'Volatilidade'
        fig.layout.yaxis.title = 'Retorno Esperado'
        fig.layout.yaxis.range = [carteira['volatilidade'].min() - 0.05, carteira['volatilidade'].max() + 0.05]
        fig.layout.yaxis.range = [carteira['retorno'].min() - 0.05, carteira['retorno'].max() + 0.05]
        fig.layout.xaxis.tickformat = '.0%'
        fig.layout.yaxis.tickformat = '.0%'
        fig.layout.title = f"<b>{ativos[0]}:</b> {w1}% <b>{ativos[1]}:</b> {100 - w1}%"
        fig.layout.template = 'plotly_dark'

        fig.show(config=dict(
            displayModeBar=True
        ))

Anyone has any idea of what is it??

I would appreciate the help!!