Как отобразить html-файл с HTML-компонентами Dash

Я нарисовал фигуру, которую сохранил в fig.html, и хотел бы отобразить ее с помощью dash-html-components.

Какой компонент HTML Dash мне следует использовать и каков точный синтаксис? Я пробовал несколько компонентов из списка тире, но думаю, что использую его неправильно.

это мой текущий результат:

введите описание изображения здесь

Вот пример того, что я пробовал:

import dash
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash(__name__, external_stylesheets=['../app/css/template.css'])

app.title = 'Test Dashboard'

app.layout = html.Div([
    html.H1(
      children='Test Dashboard',
      style={
         'textAlign': 'center'
      }
    ),

    html.Br(),

    html.Iframe(src='fig.html')

],
style={'width': '75%',
          'textAlign': 'center',
          'margin-left':'12.5%',
          'margin-right':'0'
         }
)

if __name__ == '__main__':
    app.run_server(debug=True)

person Bertrand    schedule 23.05.2020    source источник


Ответы (2)


Поскольку цифры в Dash по сути являются словарями, которые сериализуются в JSON и передаются в plotly.js для рендеринга (подробности см. В

По сравнению с pickle, JSON также имеет то преимущество, что он удобочитаем, и вы избегаете оператора pickle.load, который потенциально может привести к уязвимостям безопасности. Для расширенного обсуждения pickle и JSON см. этот вопрос.

person emher    schedule 24.05.2020
comment
Отличный ответ, именно то, что мне нужно. Спасибо! - person sparrow; 27.05.2020

Я наконец сохранил свой график с помощью рассола:

import pickle

filename = 'graph.pkl'
with open(filename, 'wb') as f:
    pickle.dump(fig, f)

а затем загрузите его там, где мне это нужно:

import dash_core_components as dcc
import dash_html_components as html
import pickle

filename = 'graph.pkl'
with open(filename, 'rb') as f:
    fig = pickle.load(f)

html.Div([dcc.Graph(figure=fig)])

Но мне все еще интересно знать, хороший это способ сделать это или нет.

person Bertrand    schedule 24.05.2020