社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

【Python】Streamlit+Echarts画出的图表,真的是太精湛了!!

机器学习初学者 • 1 年前 • 312 次点击  
在数据分析和可视化的领域,选择合适的工具可以让我们事半功倍。今天,我们要介绍的两个工具,StreamlitECharts,各自在快速应用开发和高效数据可视化方面都有出色的表现。更为令人兴奋的是,当这两者结合时,我们能轻松地创建出互动性强、美观的数据大屏。

工具的简介

Streamlit

Streamlit是一个开源的Python库,允许数据科学家和工程师在几分钟内转化他们的数据脚本为交互的Web应用。其特点在于其简单性和灵活性。开发者无需前端经验,只需要Python基础即可。其声明性的交互模型意味着不必处理回调或服务器配置,Streamlit为你处理了这一切。

ECharts

ECharts是一个由百度开发的开源JavaScript可视化库。它提供了诸如折线、柱状、饼图、散点、地图等丰富的图表类型,并支持多种交互方式,可以轻松地与各种数据源集成,是大数据时代的得力助手。

安装模块的库

在深入实战前,我们首先要确保机器上已经安装了Streamlitstreamlit-echarts。可以通过以下命令轻松完成:

pip install streamlit
pip install streamlit-echarts

Streamlit与ECharts实战

在准备工作完成后,我们可以开始使用StreamlitECharts创建我们的第一个交互式数据大屏。代码如下

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

这段代码演示了如何使用streamlitstreamlit_echarts来展示一个ECharts 图表。我们导入创建Streamlit Web应用和展示ECharts图表所需的库,接下去,我们定义了一个字典option,它定义了ECharts图表的配置,其中

  • title:定义了图表的标题为 "ECharts示例"。
  • tooltip:用于当鼠标悬停在图表的数据点上时显示的提示信息。在这里,它被设置为空,这意味着使用默认设置。
  • xAxis:定义了 x 轴的数据。在这个示例中,x 轴的数据为一系列商品的名称。
  • yAxis:定义了 y 轴的配置。这里为空,意味着使用默认设置。
  • series:定义了图表的数据系列。在这里,我们有一个系列(销量)显示为柱状图,其对应的数据也被提供。

最后便是代码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提供了一些工具,例如保存为图片。
往期精彩回顾





Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/161728
 
312 次点击