首页  >  文章  >  后端开发  >  使用 Streamlit 创建仪表板

使用 Streamlit 创建仪表板

WBOY
WBOY原创
2024-09-01 06:34:01757浏览

简介
在本文档中,我们将探讨如何使用 Streamlit 创建交互式仪表板,Streamlit 是一种用于在 Python 中构建 Web 应用程序的开源工具。 Streamlit 让您只需几行代码即可创建 Web 界面,从而简化了开发过程。

要求

要遵循此示例,您需要安装 Python 和以下库:

  • 流线型
  • 熊猫
  • numpy
  • 牵牛星

您可以使用 pip 安装它们:

pip install streamlit pandas numpy altair

代码结构

代码分为几个部分:

  1. 库导入:我们导入必要的库来生成示例数据并创建可视化。
  2. 生成示例数据:我们使用随机数据创建一个 Pandas DataFrame,以在可视化中使用。
  3. 仪表板设置:我们使用 st.title() 设置仪表板的标题。
  4. 创建可视化:
    • 我们使用 st.line_chart() 显示折线图。
    • 我们使用 Altair 创建交互式散点图,并使用 st.altair_chart() 显示它。

代码说明

库导入:

streamlit as st:我们导入Streamlit库并将其重命名为st以方便使用。
pandas as pd:我们导入 Pandas 并将其重命名为 pd。
numpy as np:我们导入 NumPy 并将其重命名为 np。
altair 为 alt:我们导入 Altair 并将其重命名为 alt。

生成样本数据:

我们创建一个名为 data 的 Pandas DataFrame,其中包含两列:“x”和“y”。
“x”列包含使用 np.arange().
从 0 到 99 的整数值 “y”列包含使用 np.random.rand() 的 0 到 1 之间的随机值。

仪表板设置:

我们使用 st.title() 设置仪表板的标题并将标题作为参数传递。

创建可视化:

我们使用 st.line_chart() 并传递数据 DataFrame 作为参数来显示折线图。

我们使用 Altair 创建交互式散点图:

alt.Chart(data):我们从数据DataFrame创建一个图表对象。

.mark_circle():我们指定要使用圆圈作为标记。
.encode(x='x', y='y', tooltip=['x', 'y']): 我们将 'x' 和 'y' 列分别分配给 x 轴和 y 轴,并指定我们希望将“x”和“y”列显示为工具提示。
.interactive():使图表具有交互性,允许用户缩放和平移。

我们使用 st.altair_chart() 显示 Altair 图表,并将图表对象作为参数传递。我们还指定 use_container_width=True 以便图表占据容器的整个宽度。

在 Streamlit Cloud 上部署

要部署此 Streamlit 应用程序,您可以使用 Streamlit Cloud:

    将您的代码上传到 GitHub 存储库。
  1. 登录 Streamlit Cloud。
  2. 连接您的 GitHub 存储库。
  3. 只需点击几下即可部署您的应用程序。
Streamlit Cloud 处理整个部署过程,使您可以轻松地与世界共享您的应用程序。

结果

存储库网址:[](https://github.com/FabianChavezLinares/Research-Group-Activity.git)

Creating a Dashboard with Streamlit

Creating a Dashboard with Streamlit

页面网址:https://research-group-activity-bi-2024-ii.streamlit.app

结论

在本文档中,我们学习了如何使用 Streamlit 创建交互式仪表板。我们生成了示例数据,使用 Streamlit 和 Altair 创建了可视化,并解释了代码的每个部分。最后,我们提到了如何将应用程序部署在 Streamlit Cloud 上以与其他用户共享。

Streamlit 极大地简化了用 Python 创建交互式 Web 应用程序的过程,使其成为想要轻松快速地共享可视化和分析的数据科学家和开发人员的宝贵工具。

以上是使用 Streamlit 创建仪表板的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn