![kaiyun体育网页版登录 mode='markers') ]-开云提款靠谱欢迎您✅ 官方入口](/uploads/allimg/241222/220U9220104217.jpg)
嘿,小伙伴们,今天我们来聊聊一个能让你数据可视化作品遽然无垠上的神器——Dash!Dash 是由 Plotly 团队开荒的一个 Python 库,它能让你放浪创建交互式、Web-based 的数据可视化欺诈。设想一下,你的数据不再是静态的图表,而是不错点击、拖动、筛选的炫酷界面,是不是合计很有范儿?
Dash 欺诈基础
Dash 的中枢想想是将你的 Python 代码颐养成 Web 欺诈,用户不错通过浏览器窥探并与之交互。它提供了丰富的 UI 组件,比如按钮、下拉菜单、滑块等,你不错将这些组件与你的数据可视化纠合起来,创造出令东说念主惊艳的交互效劳。
装配 Dash
领先,我们得把 Dash 装配到我们的 Python 环境中。掀开你的敕令行器具,输入以下敕令:
pip install dash
第一个 Dash 欺诈
接下来,我们来创建一个简便的 Dash 欺诈。这个欺诈会泄漏一个按钮和一个图表,当你点击按钮时,图表会更新。
import dashimport dash_core_components as dccimport dash_html_components as htmlfrom dash.dependencies import Input, Outputimport plotly.graph_objs as go# 创建 Dash 欺诈实例app = dash.Dash()# 成立欺诈布局app.layout = html.Div([ html.H1('Hello, Dash!'), dcc.Button('Click me', id='my-button'), dcc.Graph(id='my-graph', figure={'data': [ go.Scatter( x=[1, 2, 3], y=[4, 1, 6], mode='markers' ) ],'layout': go.Layout( title='Scatter Plot' ) } )])# 界说回调函数@app.callback( Output('my-graph', 'figure'), [Input('my-button', 'n_clicks')])defupdate_graph(n_clicks):if n_clicks isNone: n_clicks = return {'data': [ go.Scatter( x=[1, 2, 3, n_clicks], y=[4, 1, 6, n_clicks * 2], mode='markers' ) ],'layout': go.Layout( title='Updated Scatter Plot' ) }# 运转欺诈if __name__ == '__main__': app.run_server(debug=True)
运转这段代码后,你的浏览器会自动掀开一个窗口,泄漏我们的 Dash 欺诈。当你点击按钮时,图表会更新,加多一个新的点。
温馨教导:别忘了在敕令行中保持运转这个剧本,不然你的 Dash 欺诈会关闭哦!
Dash 组件详解
Dash 提供了无数的 UI 组件,你不错凭证需要领受相宜的组件来构建你的欺诈。
文本和按钮
我们刚才还是用到了 html.H1 和 dcc.Button 这两个组件。html.H1 用于泄漏标题,而 dcc.Button 则用于创建一个按钮。
图表
dcc.Graph 是 Dash 中最紧迫的组件之一,它用于泄漏 Plotly 图表。你不错通过传递一个 figure 对象来指定图表的容貌和数据。
下拉菜单和滑块
dcc.Dropdown 和 dcc.Slider 是两个相称实用的组件,它们允许用户通过领受或拖动来改换欺诈的景色。
# 下拉菜单示例dcc.Dropdown( options=[{'label': i, 'value': i} for i in ['Option 1', 'Option 2', 'Option 3']], value='Option 1',id='my-dropdown')# 滑块示例dcc.Slider(min=,max=100, step=1, value=50,id='my-slider')
布局
Dash 使用了一种肖似于 HTML 的布局花式,你不错通过嵌套 html.Div、html.Row 和 html.Col 等组件来创建复杂的布局。
app.layout = html.Div([ html.Row([ html.Col([# 左侧现实 ], className='three columns'), html.Col([# 右侧现实 ], className='nine columns') ])])
温馨教导:谨记给 html.Col 组件加上 className 属性来指定列的宽度哦!
实战:构建一个天气预告欺诈
当今,我们来实战一下,构建一个简便的天气预告欺诈。这个欺诈会泄漏一个城市名、一个滑块来领受日历,以及一个图表来泄漏该城市在以前一周的温度变化。
数据准备
领先,我们需要一些天气数据。为了简化,我们假定还是有一个包含以前一周天气数据的字典。
weather_data = {'Beijing': [5, 10, 15, 20, 25, 30, 35],'Shanghai': [10, 12, 14, 16, 18, 20, 22],# 不错添加更多城市的数据}
欺诈布局
接下来,我们来成立欺诈布局。我们需要一个下拉菜单来领受城市,一个滑块来领受日历,以及一个图表来泄漏温度。
app.layout = html.Div([ html.H1('Weather Forecast'), dcc.Dropdown( options=[{'label': city, 'value': city} for city in weather_data.keys()], value='Beijing',id='city-dropdown' ), dcc.Slider(min=,max=6, step=1, value=,id='date-slider', marks={i: f'Day {i+1}'for i inrange(7)} ), dcc.Graph(id='temperature-graph', figure={'data': [ go.Scatter( x=[f'Day {i+1}'for i inrange(7)], y=weather_data['Beijing'], mode='lines' ) ],'layout': go.Layout( title='Temperature Forecast' ) } )])
回调函数
终末,我们来界说一个回调函数,当城市或日历改换时,更新图表。
@app.callback( Output('temperature-graph', 'figure'), [Input('city-dropdown', 'value'), Input('date-slider', 'value')])defupdate_graph(city, date):return {'data': [ go.Scatter( x=[f'Day {i+1}'for i inrange(7)], y=weather_data[city][:date+1], # 只泄漏到领受的日历 mode='lines' ) ],'layout': go.Layout( title=f'Temperature Forecast for {city}' ) }
运转这个欺诈后,你就不错通过下拉菜单领受城市,通过滑块领受日历,并看到相应的温度变化图表了。
纪念
今天我们聊了聊 Dash 这个炫酷的 Python 数据可视化库。Dash 允许你放浪创建交互式、Web-based 的数据可视化欺诈,它提供了丰富的 UI 组件和天确切布局花式。通过实战,我们构建了一个简便的天气预告欺诈,展示了 Dash 的浩大功能。
要是你对数据可视化感兴味,不妨试试 Dash,信服你会可爱上它的!谨记多脱手践诺哦kaiyun体育网页版登录,这么能力更好地掌持这个器具。
Powered by 开云提款靠谱欢迎您✅ 官方入口 @2013-2022 RSS地图 HTML地图
Copyright Powered by站群 © 2013-2024
