如何在Python的Plotly Dash应用程序中添加多个图表到单个浏览器页面?

如何在Python的Plotly Dash应用程序中添加多个图表到单个浏览器页面?

Plotly是Python中的一个开源绘图库,可以生成不同类型的图表。Python用户可以使用Plotly创建可交互式的基于Web的可视化,可以显示在Jupyter笔记本中,保存为独立的HTML文件,或作为使用Dash的Web应用程序的一部分提供服务。Plotly也可以用于静态文档发布和桌面编辑器,例如PyCharm和Spyder。

Dash是Python框架,用于创建交互式的基于Web的仪表板应用程序。Dash库将所有所需的库添加到Web仪表板应用程序。

在本教程中,我们将展示如何在单个浏览器页面上将多个图表添加到Plotly Dash应用程序中。遵循以下步骤在单个页面上生成多个Dash应用程序。

步骤1

导入Dash库。

import dash

步骤2

导入Dash的核心组件, dcchtml

from dash import dcc,html

步骤3

导入以下Dash依赖关系。

from dash.dependencies import Input, Output

步骤4

导入 plotly.express 模块并别名为 px

import plotly.express as px

步骤5

使用Pandas模块生成数据集

import pandas as pd
df_bar = pd.DataFrame({
   "Season": ["夏天", "冬天", "秋天", "春天"],
   "评分": [3,2,1,4]
})

步骤6

使用以下值生成条形图并将其存储在“fig”变量中。

fig = px.bar(df_bar, x="Season", y="Rating", barmode="group")

步骤7

创建 main 函数以使用以下命令运行应用程序服务器 −

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

步骤8

在两个“div”部分中生成两个不同的HTML子元素的应用程序布局。

app.layout = html.Div(children=[
   # 页面顶部的元素
   html.Div([html.H1(children='Dash app1'),
   html.Div(children='''Dash: 第一个图。'''),
   dcc.Graph(id='graph1',figure=fig),]),

   # 新Div中的所有元素,用于页面新的 'row'
   html.Div([
      html.H1(children='Dash app2'),
      html.Div(children='''Dash: 第二个图。'''),
      dcc.Graph(id='graph2',figure=fig),
   ]),
])

示例

以下是创建Dash中单个Web页面上的多个图形的完整代码 −

导入dash
从dash中导入 dcc, html
从dash的依赖中导入 Input, Output

导入 pandas作为 pd
导入 plotly的 express作为 px
app = dash的Dash函数(名称)
df_bar = pd的DataFrame函数({
   "Season": ["夏季", "冬季", "秋季", "春季"],
   "Rating": [3,2,1,4]
})

fig = px的bar函数(df_bar, x="Season", y="Rating", barmode="group")
app的layout = html的Div函数(children=[
   #页面顶部

的元素
   html的Div函数([
      html的H1函数(children='Dash app1'),
      html的Div函数(children='''
      Dash:第一个图表。'''),

      dcc的Graph函数(
         id='graph1',
         figure=fig
      ),
   ]),
   #页面新“行”中的所有元素的新


   html的Div函数([
      html的H1函数(children='Dash app2'),
      html的Div函数(children='''
      Dash:第二个图表。'''),

      dcc的Graph函数(
         id='graph2',
         figure=fig
      ),
   ]),
])

如果 __name__ == '__main__':
app的run_server函数(debug=True)

输出

当您执行以上程序时,您将在控制台上获得以下输出 −

Dash is running on http://127.0.0.1:8050/
* Serving Flask app 'main'
* Debug mode: on

点击URL后,您将被重定向到浏览器,该浏览器将显示以下输出−

如何在Python的Plotly Dash应用程序中添加多个图表到单个浏览器页面?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程