如何在 Python Plotly 中更改 Dash Graph 的大小?

plotlypythonserver side programmingprogramming

Plotly 支持两个不同的库"Dash 应用程序中的 Plotly 图表"和"Plotly Express 中的 Plotly 图表对象"。Dash 是一个 Python 框架,用于创建基于 Web 的交互式仪表板应用程序。dash 库将所有​​必需的库添加到基于 Web 的仪表板应用程序

导入 dash 核心组件和 html 组件。添加 plotly.express 方法来生成图表。使用 Dcc.Graph() 方法设置高度和宽度坐标的样式。

在本教程中,我们将展示如何在单个浏览器页面上向 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 module
import pandas as pd

df_bar = pd.DataFrame({
   "Season": ["Summer", "Winter", "Autumn", "Spring"],
   "Rating": [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=[

   # elements from the top of the page
   html.Div([html.H1(children='Dash app1'),
   html.Div(children='''Dash: First graph.'''),
   dcc.Graph(id='graph1',figure=fig),]),
   
   # New Div for all elements in the new 'row' of the page
   html.Div([
      html.H1(children='Dash app2'),
      html.Div(children='''Dash: Second graph.'''),
      dcc.Graph(id='graph2', figure=fig),
   ]),
])

示例

以下是在 Plotly 中更改 Dash Graph 大小的完整代码 −

import dash
from dash import dcc, html
import pandas as pd
import plotly.express as px

app = dash.Dash(__name__)
df_bar = pd.DataFrame({
   "Season": ["Summer", "Winter", "Autumn", "Spring"],
   "Rating": [3, 2, 1, 4]
})

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

# app layout for html div and set height and width
app.layout = html.Div(children=[

   # All elements from the top of the page
   html.Div([
      html.H1(children='Dash app1'),
      html.Div(children='''
         Dash: First graph.
      '''),
   
      dcc.Graph(
         id='graph1',
         figure=fig,
         style={'width': '60vw', 'height': '70vh'}
      ),
   ])
])

if __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,它将在浏览器上显示以下输出 -


观察我们如何使用"dcc.Graph()"中的"style"属性来更改 Dash 图形的大小。


相关文章