Сюжет не отображается в Google colab

#python #plotly #dropdown #google-colaboratory

Вопрос:

Я новичок в Google colab и пытаюсь строить диаграммы, используя plotly с выпадающим списком. Для тестирования я использовал приведенный ниже код в google colab:

 import plotly.graph_objects as go
import ipywidgets as w
from IPython.display import display
import pandas as pd
import plotly.io as pio
pio.renderers.default = 'colab'

df = pd.DataFrame()
df['category'] = ['G1', 'G1', 'G1', 'G1','G1', 'G1','G1', 'G2', 'G2', 'G2', 'G2', 'G2', 'G2', 'G2']
df['date'] = ['2012-04-01', '2012-04-05', '2012-04-09', '2012-04-11', '2012-04-16', '2012-04-23', '2012-04-30',
          '2012-04-01', '2012-04-05', '2012-04-09', '2012-04-11', '2012-04-16', '2012-04-23', '2012-04-30']
df['col1'] = [54, 34, 65, 67, 23, 34, 54, 23, 67, 24, 64, 24, 45, 89]
df['col2'] = round(df['col1'] * 0.85)

x  = 'date'
y1 = 'col1'
y2 = 'col2'

trace1 = {
    'x': df[x],
    'y': df[y1],
    'type': 'scatter',
    'mode': 'lines',
    'name':'col 1',
    'marker': {'color': 'blue'}
}

trace2={
    'x': df[x],
    'y': df[y2],
    'type': 'scatter',
    'mode': 'lines',
    'name':'col 2',
    'marker': {'color': 'yellow'}
}

data = [trace1, trace2]

# Create layout for the plot
layout=dict(
    title='my plot',
    xaxis=dict(
        title='Date', 
        type='date', 
        tickformat='%Y-%m-%d', 
        ticklen=5, 
        titlefont=dict(
            family='Old Standard TT, serif',
            size=20,
            color='black'
        )
    ),
    yaxis=dict(
        title='values', 
        ticklen=5,
        titlefont=dict(
            family='Old Standard TT, serif',
            size=20,
            color='black'
            )
        )

    )

# Here's the new part

fig = go.FigureWidget(data=data, layout=layout)

def update_fig(change):
    aux_df = df[df.category.isin(change['new'])]
    with fig.batch_update():
        for trace, column in zip(fig.data, [y1, y2]):
            trace.x = aux_df[x]
            trace.y = aux_df[column]

drop = w.Dropdown(options=[
    ('All', ['G1', 'G2']),
    ('G1', ['G1']),
    ('G2', ['G2']),
])
drop.observe(update_fig, names='value')

display(w.VBox([drop, fig]))
 

Когда я запускаю приведенный выше код в Google colab, он не показывает никаких ошибок и графиков. Я запускаю тот же код в записной книжке jupyter, он показывает график с выпадающими списками.

Когда я запускаю приведенный ниже код, он показывает сюжет в google colab

 import plotly.graph_objects as go
fig = go.Figure( go.Scatter(x=[1,2,3], y=[1,3,2] ) )
fig.show()
 

Где я ошибся с первым кодом.Пожалуйста,предложите.

Комментарии:

1. Эй, Навья, ты смогла это понять? Пожалуйста, дайте мне знать, если да.

2. Привет, я не сошелся с сюжетом. Получил его с помощью matplotlib.pyplot.

3. Спасибо за ваш ответ, но я думаю, что для меня обновление Plotly до последней версии заставило его работать. Надеюсь, это поможет.