过去,创建分析型Web应用程序需要开发人员的丰富经验,这些开发人员需要掌握多种编程语言和框架知识。如今,您只需使用Python编程语言即可制作数据可视化界面。而其中一种流行的工具就是Dash(https://dash.plotly.com/introduction
)。
Dash使数据科学家能够在交互式Web应用程序中展示其结果。您无需成为网页开发专家。可能只需一个下午的时间,您就可以构建和部署Dash应用程序,并与他人共享。
在本教程中,您将学习下列内容:
创建一个Dash应用程序
如何使用Dash核心组件和HTML组件
自定义Dash应用程序的样式
使用回调函数构建交互式应用程序
在Heroku上部署您的应用程序
Dash 是什么?
Dash是用于构建数据可视化界面的开源框架。它于2017年作为Python第三方库发布,现已发展为包含R语言和Julia语言的版本。Dash使数据分析师无需掌握高级Web开发知识即可构建Web数据可视化应用。
下面三种技术构成Dash的核心:
1、
Flask
提供了Web服务器功能。2、
React.js
呈现网页的用户界面。3、
Plotly.js
生成您在应用程序中使用的图表。
但是您不必担心如何使这些技术进行协同工作。Dash将帮助您,您只需要会编写Python、R或Julia语言,以及一些CSS知识即可。
加拿大的Plotly(https://plotly.com/
)公司建立了Dash并支持其发展。您可能从共享其名称的流行图形库(https://plotly.com/graphing-libraries/
)中了解该公司。Plotly公司开放了Dash的源代码,并根据MIT许可证发布了它,因此您可以免费使用Dash。
Plotly还为Dash提供了称为Dash Enterprise的商业伙伴付费服务。这项付费服务为商业公司提供了以下支持服务,例如在Dash应用程序上托管、部署和处理身份验证。但是这些功能不在Dash的开源生态系统中。
Dash将帮助您快速构建dashboard仪表板。如果您习惯于使用Python分析数据或建立数据可视化效果,那么Dash将是您工具箱中的有用补充。以下是一些您可以使用Dash制作的示例:
可实时分析交易头寸的dashboard仪表盘
https://dash-gallery.plotly.host/dash-web-trader/
数百万个 Uber 行程的可视化
https://dash-gallery.plotly.host/dash-uber-rides-demo/
一个交互式的财务报告
https://dash-gallery.plotly.host/dash-financial-report/
这只是很简单的几个样例。如果您想查看其他有趣的用例,请查看Dash App Gallery(https://dash-gallery.plotly.host/Portal/
)。
Python中的Dash入门
在本教程中,您将学习使用Dash构建仪表板的详细过程。如果遵循这些示例,那么您将从本地计算机上的准系统仪表板转到部署在Heroku上的样式化仪表板。
要构建仪表板,您将使用2015年至2018年期间美国鳄梨销售和价格数据集(https://www.kaggle.com/neuromusic/avocado-prices
)。该数据集由Justin Kiggins使用Hass Avocado Board(https://www.hassavocadoboard.com/retail/volume-and-price-data
)提供的数据整理而来。
如何设置本地环境
要开发应用,您需要一个新目录来存储代码和数据,以及一个干净的Python 3 虚拟环境。要创建这个环境,请按照以下说明进行操作,选择与您的操作系统匹配的版