帮我用st和html混合写一个数据大屏,包含的图表有柱状图和折线图还有饼状图,数据内容为出在线人数(int)总人数(int)销售额(float)销售总额(float)出单量(int)出单总量(int)
时间: 2023-04-08 09:02:16 浏览: 88
好的,我可以回答这个问题。使用st和html混合编写数据大屏可以使用Python的Dash框架。您可以使用Dash的Plotly图表库来创建柱状图、折线图和饼状图。以下是一个简单的示例代码:
```python
import dash
import dash_core_components as dcc
import dash_html_components as html
import pandas as pd
import plotly.graph_objs as go
# 创建Dash应用程序
app = dash.Dash(__name__)
# 创建数据
data = {'在线人数': 100, '总人数': 200, '销售额': 1000.0, '销售总额': 5000.0, '出单量': 50, '出单总量': 200}
df = pd.DataFrame.from_dict(data, orient='index', columns=['值'])
# 创建图表
bar_chart = dcc.Graph(
figure=go.Figure(
data=[go.Bar(x=df.index, y=df['值'])],
layout=go.Layout(title='柱状图')
)
)
line_chart = dcc.Graph(
figure=go.Figure(
data=[go.Scatter(x=df.index, y=df['值'], mode='lines')],
layout=go.Layout(title='折线图')
)
)
pie_chart = dcc.Graph(
figure=go.Figure(
data=[go.Pie(labels=df.index, values=df['值'])],
layout=go.Layout(title='饼状图')
)
)
# 创建布局
app.layout = html.Div(children=[
html.H1(children='数据大屏'),
html.Div(children=[
html.Div(children=[bar_chart], className='six columns'),
html.Div(children=[line_chart], className='six columns'),
], className='row'),
html.Div(children=[pie_chart], className='row')
])
if __name__ == '__main__':
app.run_server(debug=True)
```
您可以根据需要修改数据和图表类型,以满足您的需求。
阅读全文