在数据分析和可视化的领域,选择合适的工具可以让我们事半功倍。今天,我们要介绍的两个工具,Streamlit
和 ECharts
,各自在快速应用开发和高效数据可视化方面都有出色的表现。更为令人兴奋的是,当这两者结合时,我们能轻松地创建出互动性强、美观的数据大屏。
Streamlit
是一个开源的Python
库,允许数据科学家和工程师在几分钟内转化他们的数据脚本为交互的Web
应用。其特点在于其简单性和灵活性。开发者无需前端经验,只需要Python基础即可。其声明性的交互模型意味着不必处理回调或服务器配置,Streamlit
为你处理了这一切。
ECharts
是一个由百度开发的开源JavaScript
可视化库。它提供了诸如折线、柱状、饼图、散点、地图等丰富的图表类型,并支持多种交互方式,可以轻松地与各种数据源集成,是大数据时代的得力助手。
在深入实战前,我们首先要确保机器上已经安装了Streamlit
和streamlit-echarts
。可以通过以下命令轻松完成:
pip install streamlit
pip install streamlit-echarts
在准备工作完成后,我们可以开始使用Streamlit
和ECharts
创建我们的第一个交互式数据大屏。代码如下
import streamlit as st
from streamlit_echarts import st_echarts
# 定义ECharts的配置
option = {
"title": {"text": "ECharts示例"},
"tooltip": {},
"xAxis": {
"data": ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
},
"yAxis": {},
"series": [
{
"name": "销量",
"type": "bar",
"data": [5, 20, 36, 10, 10, 20]
}
]
}
# 在Streamlit应用中展示ECharts图表
st_echarts(options=option)
output
这段代码演示了如何使用streamlit
和streamlit_echarts
来展示一个ECharts
图表。我们导入创建Streamlit Web
应用和展示ECharts
图表所需的库,接下去,我们定义了一个字典option
,它定义了ECharts
图表的配置,其中
最后便是代码st_echarts(options=option)
,使用了st_echarts
函数,并将我们之前定义的option
作为参数传递,从而渲染相应的图表。我们再来看一下例子,代码如下
from pyecharts import options as opts
from pyecharts.charts import Bar
from streamlit_echarts import st_pyecharts
b = (
Bar()
.add_xaxis(["Microsoft", "Amazon", "IBM", "Oracle", "Google", "Alibaba"])
.add_yaxis(
"2017-2018 Revenue in (billion $)", [21.2, 20.4, 10.3, 6.08, 4, 2.2]
)
.set_global_opts(
title_opts=opts.TitleOpts(
title="Top cloud providers 2018", subtitle="2017-2018 Revenue"
),
toolbox_opts=opts.ToolboxOpts(),
)
)
st_pyecharts(b)
output
上述的代码中
Bar
(柱状图)对象。add_xaxis
方法添加x
轴数据,这里列出了六个云服务提供商的名称。add_yaxis
方法添加y
轴数据,这里列出了这些云服务提供商在 2017-2018 年的收入(单位:十亿美元)。set_global_opts
方法全局设置图表的标题和其他选项。title_opts
定义了图表的主标题和副标题。toolbox_opts
提供了一些工具,例如保存为图片。NO.1