Dash是基于Flask的Python可视化组件

Dash是基于Flask的Python可视化工具,严格说来由三个部分组成,首先是Flask提供了标准web环境,再次是plotly这个图表可视化工具,最后是与dash相配套的html、图表等交互式组件。本人也陆续试过pyechart,但就集成性和可视化而言,与dash还是有一定差距。

代码示例


  1. import dash –集成flask 
  2.  
  3. import dash_core_components as dcc –与图表相关的核心组件 
  4.  
  5. import dash_html_components as html –与HTML交互相关的组件 
  6.  
  7. import plotly.graph_objects as go –plotly的底层组件 
  8.  
  9. import plotly.express as px –plotly的高阶组件,同时提供了内置的数据集 
  10.  
  11.  
  12.  
  13. fig = go.Figure() 
  14.  
  15. fig = go.Figure(data=go.Bar(y=[2, 3, 1])) 
  16.  
  17. # fig.add_trace( … ) 
  18.  
  19. # fig.update_layout( … ) 
  20.  
  21.  
  22.  
  23. df = px.data.gapminder() 
  24.  
  25. df = px.data.gapminder().query("country=='China'"
  26.  
  27. fig = px.line(df, x="year", y="lifeExp", title='人口增长率'
  28.  
  29.  
  30.  
  31. app = dash.Dash() 
  32.  
  33. app.layout = html.Div([ 
  34.  
  35. dcc.Graph(figure=fig) 
  36.  
  37. ]) 
  38.  
  39.  
  40.  
  41. app.run_server(debug=True, use_reloader=False
  42.  

Plotly Express是对 Plotly.py 的高级封装,内置了大量实用、现代的绘图模板,用户只需调用简单的API函数,即可快速生成漂亮的互动图表,可满足90%以上的应用场景。

plotly.express附带了一些用于演示、教育和测试目的的内置数据集。

这些数据以CSV格式存储在包的目录下,以pandas类型获取到数据,方便进行图表功能测试。

1、gapminder():每一行代表一个国家在给定的年份GDP、人口增长等信息。包含1704行和以下列:


  1. ['country''continent''year''lifeExp''pop''gdpPercap''iso_alpha''iso_num']. 

2、tips():每行代表一张餐厅账单。包含244行和以下列:


  1. ['total_bill''tip''sex''smoker''day''time''size']. 

3、iris():每行代表一朵花。包含150行和以下列:


  1. ['sepal_length''sepal_width''petal_length''petal_width''species''species_id']. 

4、wind():每行表示一个基本方向上的风强度级别及其频率。包含128行和以下列:


  1. ['direction''strength''frequency']. 

5、election():每一行代表2013年蒙特利尔市长选举中一个选区的投票结果。包含58行和以下列:


  1. ['district''Coderre''Bergeron''Joly''total''winner''result''district_id']. 

6、election_geojson():每个功能代表2013年蒙特利尔市长选举中的一个选区。

GeoJSON格式的“dict”,具有58个多边形或多多边形特征,其“id”是一个选区数字ID,其'district'属性是ID和地区名称。

7、carshare():每一行表示在蒙特利尔呆了一个月,区域中心附近的汽车共享服务的可用性。包含249行和以下列:


  1. ['centroid_lat''centroid_lon''car_hours''peak_hour']. 

8、stocks(indexed=False):这一广泛数据集中的每一行代表2018/2019年6只科技股的收盘价。包含100行和以下列:


  1. ['date''GOOG''AAPL''AMZN''FB''NFLX''MSFT']. 

9、experiment(indexed=False):这个大数据集中的每一行代表100名模拟参与者在三个假设实验中的结果,以及他们的性别和对照/治疗组。包含100行和以下列:


  1. ['experiment_1''experiment_2''experiment_3''gender''group']. 

10、medals_wide(indexed=False):此数据集表示截至2020年前三名国家的奥运会短道速滑奖牌表。包含3行和以下列:


  1. ['nation''gold''silver''bronze']. 

11、medals_long(indexed=False):此数据集表示截至2020年前三名国家的奥运会短道速滑奖牌表。包含9行和以下列:


  1. ['nation''medal''count']. 
【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章