首页 > 其他分享 >Streamlit制作交互式可视化网页应用

Streamlit制作交互式可视化网页应用

时间:2024-08-29 11:16:11浏览次数:13  
标签:10 缓存 cache 应用程序 st 可视化 交互式 Streamlit

一、介绍

Streamlit 是一个开源 Python 框架,供数据科学家和 AI/ML 工程师使用几行代码交付动态数据应用程序。在几分钟内构建和部署功能强大的数据应用程序。(具体使用教程可查看官方文档:Streamlit documentation

 1 1. 简化开发流程
 2 无代码界面:Streamlit允许开发人员使用简单的Python代码即可创建复杂的Web应用程序,无需编写HTML、CSS或JavaScript。
 3 快速开发:通过减少样板代码的使用,Streamlit使得创建数据驱动的应用变得前所未有的简单。
 4 
 5 2. 高度交互性
 6 实时交互:Streamlit应用程序能够响应用户的输入并立即更新,提供无缝的用户体验。
 7 丰富的控件:Streamlit提供了一系列内置的控件,如按钮、选择框、滑块等,使得用户可以与应用进行互动。
 8 
 9 3. 数据可视化
10 支持多种数据可视化库:Streamlit直接支持多种数据可视化库,如Matplotlib、Plotly和Altair,允许在应用中无缝集成丰富的图表和视觉化元素。
11 动态展示数据:用户可以在Streamlit应用中简单地可视化数据并实时呈现在应用中。
12 
13 4. 易于部署
14 简单的部署流程:使用一个简单的命令即可将Streamlit应用程序部署到Heroku、AWS等云平台,使团队和客户能够轻松访问。
15 
16 5. 可扩展性
17 处理大型数据集和复杂逻辑:Streamlit应用程序可以轻松扩展以处理大型数据集和复杂逻辑。
18 尽管Streamlit具有上述优势,但它也存在一些局限性,如有限的自定义能力、对于处理大量数据或复杂逻辑的应用程序可能会出现性能问题,以及在移动设备上的支持有限等。

 

二、安装

1 pip install streamlit

检测是否安装成功

 

三、运行脚本测验

 1 # 导入Streamlit库
 2 import streamlit as st
 3 
 4 # 添加标题
 5 st.title('我的第一个Streamlit应用')
 6 
 7 # 添加文本
 8 st.write('这是一个简单的Streamlit应用示例。')
 9 
10 # 添加滑块
11 age = st.slider('你的年龄是多少?', 0, 100, 25)
12 st.write(f'你的年龄是: {age}')
13 
14 # 添加按钮
15 if st.button('点击我'):
16     st.write('按钮被点击了!')

 

 

 =========================================================================

==========================================================================

==========================================================================

下面我们就学习一些简单功能吧!!!!!!!!

 1 Streamlit 提供了一系列常用组件,用于构建交互式应用程序。以下是常见的 Streamlit 组件:
 2 
 3 st.write(): 用于在应用程序中显示文本、数据框架、图表等内容。
 4 
 5 st.title(): 添加应用程序的标题。
 6 
 7 st.header() 和 st.subheader(): 添加标题和子标题。
 8 
 9 st.text(): 显示纯文本。
10 
11 st.markdown(): 使用 Markdown 语法添加格式化文本。
12 
13 st.image(): 显示图像。
14 
15 st.pyplot(): 显示 Matplotlib 图表。
16 
17 st.altair_chart(): 显示 Altair 图表。
18 
19 st.dataframe(): 显示数据框。
20 
21 st.table(): 显示表格。
22 
23 st.selectbox(): 显示下拉框,用户可以从选项中进行选择。
24 
25 st.multiselect(): 显示多选框,用户可以从选项中进行多选。
26 
27 st.slider(): 显示滑块,用户可以调整数值。
28 
29 st.text_input(): 显示文本输入框,用户可以输入文本。
30 
31 st.number_input(): 显示数字输入框,用户可以输入数字。
32 
33 st.text_area(): 显示多行文本输入框。
34 
35 st.checkbox(): 显示复选框,用户可以勾选或取消勾选。
36 
37 st.radio(): 显示单选按钮,用户可以从选项中进行单选。
38 
39 st.button(): 显示按钮,用户可以点击执行相关操作。
40 
41 st.file_uploader(): 显示文件上传器,用户可以上传文件。
42 
43 st.date_input() 和 st.time_input(): 显示日期和时间输入框。
44 
45 st.color_picker(): 显示颜色选择器,用户可以选择颜色。
46 
47 st.spinner(): 显示加载状态的旋转器。
48 ————————————————

 

四、添加交互组件__text_input__selectbox__file_uploader

 

4.1数据处理与展示

 1 import streamlit as st
 2 import pandas as pd
 3 import numpy as np
 4 
 5 # 创建一个简单的数据框
 6 df = pd.DataFrame({
 7   '第一列': np.random.randn(10),
 8   '第二列': np.random.rand(10)
 9 })
10 '''
11 这部分创建了一个pandas的DataFrame对象,命名为df。
12 其中包含两列数据,'第一列'是通过np.random.randn(10)生成的 10 个服从标准正态分布的随机数;
13 '第二列'是通过np.random.rand(10)生成的 10 个在 [0,1) 区间均匀分布的随机数
14 '''
15 
16 # 在Streamlit应用中展示数据框
17 st.write("这是一个数据框的示例:")
18 st.write(df)
19 
20 # 创建一个折线图
21 st.line_chart(df)

 

五、高级组件

在 Streamlit 中,除了 st.cache 之外,还有一些其他的缓存相关组件,如 st.cache_data 和 st.cache_resource,它们分别用于缓存数据和资源,以下是它们的介绍:

 1 st.cache_data:
 2 
 3 st.cache_data 用于缓存数据,通常用于将数据加载到内存中,并在应用程序的多个部分之间共享。这对于那些频繁访问的数据,例如配置文件、数据集等非常有用。
 4 使用方法与 st.cache 类似,我们可以将需要缓存的数据加载函数与 @st.cache_data 装饰器一起使用。
 5 与 st.cache 不同,st.cache_data 并不会保存函数的输入参数,它只会缓存函数的输出结果。因此,如果数据的加载方式不依赖于函数的输入参数,则可以使用 st.cache_data 来缓存数据。
 6 
 7 
 8 st.cache_resource:
 9 
10 st.cache_resource 用于缓存外部资源,例如文件、图像、音频等,通常用于减少重复的网络请求或文件读取操作。
11 我们可以使用 @st.cache_resource 装饰器来缓存资源加载函数,这样在多次访问同一资源时,Streamlit 将会从缓存中加载,而不是重新加载资源。
12 与 st.cache 和 st.cache_data 类似,st.cache_resource 也可以接受参数,用于根据不同的参数值缓存不同的资源。
13 这些缓存组件提供了不同的功能,可以根据具体的需求选择合适的缓存方式。通过合理地使用缓存,可以显著提高 Streamlit 应用程序的性能和响应速度,同时减少资源消耗。

 

标签:10,缓存,cache,应用程序,st,可视化,交互式,Streamlit
From: https://www.cnblogs.com/liuliu1/p/18386291

相关文章

  • 揭秘空间站模型3D可视化新纪元
    在浩瀚无垠的宇宙探索征途中,空间站作为人类探索星辰大海的坚实堡垒,始终承载着人类对未知世界的好奇与向往。 想象一下,只需轻点鼠标或滑动屏幕,就能瞬间置身于浩瀚宇宙之中,360度无死角地观察空间站的每一个细节:从错综复杂的太阳能板在阳光下熠熠生辉,到精密复杂的生命维持系统默默......
  • 使用 Pandas 进行数据可视化:全面指南(六)
    在数据分析的过程中,数据的可视化是一个至关重要的环节。通过图形展示数据,不仅能够帮助我们直观地理解数据,还能够揭示数据背后的规律和趋势。Pandas作为Python生态系统中强大的数据分析库,不仅提供了数据处理和分析的功能,还内置了方便易用的可视化方法。本文将详细介绍Pan......
  • 3D高斯渲染 (1)手动窗口可视化
       ##Copyright(C)2023,Inria#GRAPHDECOresearchgroup,https://team.inria.fr/graphdeco#Allrightsreserved.##Thissoftwareisfreefornon-commercial,researchandevaluationuse#underthetermsoftheLICENSE.mdfile.##Forinquirie......
  • 沉浸式体验吸尘器产品的3D可视化盛宴
    在这个科技日新月异的时代,每一个细微之处都蕴含着创新的火花,而家居清洁作为我们日常生活中不可或缺的一环,也正在经历一场前所未有的变革。 大家可以想象一下,无需亲临实体店,只需轻点鼠标或滑动屏幕,一款款精心设计的吸尘器便以3D形态跃然眼前,仿佛触手可及。这不仅仅是产品的展示,......
  • 分享一个基于Python的程序员薪资数据分析可视化与岗位推荐系统flask爬虫毕设(源码、调
    ......
  • 相机产品展示步入3D可视化新纪元
    在这个日新月异的数字时代,科技的每一次飞跃都在重新定义着我们的生活方式与创作边界。当摄影艺术邂逅前沿科技,一场关于视觉盛宴的变革正悄然上演,为摄影爱好者与专业人士开启了一扇通往无限创意与沉浸式体验的大门。 传统相机展示往往受限于二维平面的局限,难以全方位、多角度地......
  • 掌握ECharts:绘制动态心率区间数据可视化图表
    例如一组数据8点-9点值是10-20,9点-10点值是30-40,10点-11点值是40-59思路:通过设置不同系列的stack属性相同来让它们堆叠在一起,同时利用透明色和实色来分别表示区间的最小值和范围。代码如下:option={xAxis:{type:'category',data:['08-09','09-10'......
  • 基于python的保险业务数据可视化分析系统【python-爬虫-大数据定制】
    精彩专栏推荐订阅:在下方专栏......
  • JimuReport 积木报表 v1.8.0 版本发布,开源可视化报表
    项目介绍一款免费的数据可视化报表工具,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等!Web版报表设计器,类似于excel操作风格,通过拖拽完成报表设计。秉承"简单、易用、专业"的产品理念,极大的降低报表开发难度、缩短开发周......
  • 【01 可视化】
    大家好,我是欧K~中秋节,又称祭月节、月光诞、月夕、秋节、仲秋节、拜月节、月娘节、月亮节、团圆节等,是中国民间的传统节日。自古便有祭月、赏月、吃月饼、玩花灯、赏桂花、饮桂花酒等民俗,流传至今,经久不息。本期我们通过分析某宝中秋月饼的销售情况,看看哪些口味月饼卖得好,哪......