Problem mit Plotly-Plots auf mehreren Panel-RegisterkartenPython

Python-Programme
Guest
 Problem mit Plotly-Plots auf mehreren Panel-Registerkarten

Post by Guest »

Ich habe eine Panel-Anwendung, die drei verschiedene Plotly-Diagramme auf verschiedenen Registerkarten anzeigt. Sie werden zunächst gut angezeigt, aber wenn sie aktualisiert werden, sind eine oder mehrere Registerkarten leer. Hier ist ein Beispiel, das es veranschaulicht. Auf den drei Registerkarten werden zunächst Diagramme angezeigt. Wenn jedoch die Schaltfläche „Los“ gedrückt wird, sind eine oder mehrere Registerkarten leer. Mache ich etwas falsch? (Der Code wurde auf einer Maschine ohne Python neu eingegeben, daher gibt es hoffentlich keine Tippfehler.)

Code: Select all

# -*- coding: utf-8 -*-
import pandas as pd
import panel as pn
import plotly.express as px
import plotly.graph_objects as go
import random

raw_data_viewer_tab = pn.Row()
histogram_tab = pn.Row()
cluster_plot_tab = pn.Row()

data = list()

for i in range(1000):
num = random.random()
data.append([i, i*num, i+num, i-num, i/num])

df = pd.DataFrame(data, columns=[‘a’, ‘b’, ‘c’, ‘d’, ‘e’])

raw_data_viewer_tab.append(pn.pane.Plotly(px.scatter(df, x=‘a’, y=‘b’, color=‘c’)))

fig_col = pn.Column()
for col in df.columns:
fig_col.append(go.Figure([go.Historgram(x=df[col])]))
histogram_tab.append(fig_col)

cluster_plot_tab.append(go.Figure(([go.Scatter3d(x=df[‘a’], y=df[‘b’], z=df[‘c’], mode=‘markers’)]))

tabs = pn.Tabs((‘Raw Data Viewer’, raw_data_viewer_tab), (‘Cluster Data Histograms’, histogram_tab), (‘Cluster Plot’, cluster_plot_tab))

top_accordion = pn.Accordion()

template = pn.template.BootstrapTemplate(title=‘title’, sidebar=[top_accordion])

def update_plots(event):
cluster_plot_tab[0] = pn.pane.Plotly(go.Figure([go.Scatter3d(x=df[‘a’], y=df[‘b’], z=df[‘c’], mode=‘markers’)]))
raw_data_viewer_tab[0] = pn.pane.Plotly(px.scatter(df, x=‘a’, y=‘b’, color=‘c’))
fig_col[0] = go.Figure([go.Histogram(x=df[col])])

update_button = pn.widgets.Button(name=‘go’)
template.sidebar.append(update_button)
update_button.param.watch(update_plots, ‘value’)

template.show()

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post