Streamlit+Echarts实现绘制精美图表

 更新时间:2023年09月05日 15:17:55   作者:关于数据分析与可视化  
在数据分析和可视化的领域,选择合适的工具可以让我们事半功倍,本文主要为大家介绍两个工具,Streamlit和ECharts,感兴趣的小伙伴可以跟随小编一起了解下

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

工具的简介

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提供了一些工具,例如保存为图片。

到此这篇关于Streamlit+Echarts实现绘制精美图表的文章就介绍到这了,更多相关Streamlit Echarts内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python函数装饰器之带参数的函数和带参数的装饰器用法示例

    python函数装饰器之带参数的函数和带参数的装饰器用法示例

    这篇文章主要介绍了python函数装饰器之带参数的函数和带参数的装饰器用法,结合实例形式分析了Python函数装饰器中函数带多个参数以及装饰器带有多个参数的具体原理与实现方法,需要的朋友可以参考下
    2019-11-11
  • Python正则表达式实现简易计算器功能示例

    Python正则表达式实现简易计算器功能示例

    这篇文章主要介绍了Python正则表达式实现简易计算器功能,涉及Python正则判定及数值计算相关操作技巧,需要的朋友可以参考下
    2019-05-05
  • Python 调用 Windows API COM 新法

    Python 调用 Windows API COM 新法

    Python中调用Win32API 通常都是使用 PyWin32或者ctypes。本文给大家介绍Python 调用 Windows API COM 新法,感兴趣的朋友跟随小编一起看看吧
    2019-08-08
  • 提高Python代码可读性的5个技巧分享

    提高Python代码可读性的5个技巧分享

    Python 中有许多方法可以帮助我们理解代码的内部工作原理,良好的编程习惯,可以使我们的工作事半功倍!本文为大家总结了五个技巧,希望有所帮助
    2022-08-08
  • Python中plt.scatter()函数的常见用法小结

    Python中plt.scatter()函数的常见用法小结

    这篇文章主要介绍了Python中plt.scatter()函数的常见用法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • 详解Python中数据类型的转换

    详解Python中数据类型的转换

    这篇文章主要为大家详细介绍了Python中数据类型转换的相关资料,文中的示例代码讲解详细,具有一定的参考价值,感兴趣的小伙伴可以了解一下
    2023-03-03
  • python3+telnetlib实现简单自动测试示例详解

    python3+telnetlib实现简单自动测试示例详解

    telnetlib 模块提供一个实现Telnet协议的类 Telnet,本文重点给大家介绍python3+telnetlib实现简单自动测试示例详解,需要的朋友可以参考下
    2021-08-08
  • Django中实现点击图片链接强制直接下载的方法

    Django中实现点击图片链接强制直接下载的方法

    这篇文章主要介绍了Django中实现点击图片链接强制直接下载的方法,涉及Python操作图片的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-05-05
  • pycharm社区版安装django并创建一个简单项目的全过程

    pycharm社区版安装django并创建一个简单项目的全过程

    社区版的pycharm跟专业版的pycharm应用差别还是不太大,下面这篇文章主要给大家介绍了关于pycharm社区版安装django并创建一个简单项目的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • 安装并免费使用Pycharm专业版(学生/教师)

    安装并免费使用Pycharm专业版(学生/教师)

    这篇文章主要介绍了安装并免费使用Pycharm专业版(学生/教师),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论