searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Streamlit网页可视化工具的使用

2023-07-25 08:35:30
507
0

Streamlit是一个开源Python库,其旨在为机器学习和数据科学领域简单快速地创建和分享美观的、定制化的web应用。使用Streamlit,用户仅仅几分钟即可创建和部署强大的数据应用。

Streamlit的目标是创建一个开源框架,以将Python脚本转换为交互式应用程序为目标。Streamlit的口号是"构建和共享数据应用程序的最快方式"。Streamlit的一个主要优点是其快速简便的开发流程。运行 Streamlit 服务器后,可以直接对源代码进行更改,并且每当保存文件时,应用程序都会更新以反映浏览器中的这些更改。

1.安装

pip install streamlit

2.使用方法

2.1 启动项目

如果是运行自己的项目,则运行:

streamlit run myapp.py

myapp.py是自己编写的streamlit项目。

如果代码无误,命令行床则会直接出现下列页面,然后弹出网页。如果未弹出,可通过访问上述地址进入。

也可以尝试官方提供的demo。

streamlit hello

在开发阶段,最好是开启"开发模式",这样只要保存代码后,Streamlit就能重新运行app。这会极大地提高开发效率。开启方式是在右上角选择"Always rerun"。

2.2 streamlit常用语法

2.2.1 基本的文字显示(markdown)

import streamlit as st
st.title("Streamlit的Title!")
st.header("Streamlit的header")
st.subheader("Streamlit的subheader")
st.text("Streamlit的text....")
st.markdown("### Streamlit的markdown\nctyunos\n #### 基础架构\n 操作系统 ![12]

 

效果图:

2.2.2 消息状态显示

import streamlit as st
st.success("Success")
st.info("Information")
st.warning("Warning")
st.error("Error")

 

效果如下:

2.2.3 write和txt的区别

import streamlit as st
st.write(range(1,100))
st.write(range(1,100))

2.2.4 显示图片

配合pillow库,streamlit可以直接显示图形。

import streamlit as st
from PIL import Image
img = Image.open("12.png")
st.text("图片展示:")
st.image(img, width=500)

 

效果图:

2.2.5 check box用法

check box为可勾选框,如果被选择,则返回True。

import streamlit as st


if st.checkbox("Show/Hide"):
    st.text("Showing the widget")

效果为:

勾选前:

勾选后:

2.2.6 Radio Button

radio button为复选按钮,可以根据选择的项目,来返回不同值。

import streamlit as st

status = st.radio("今天天气", ("晴","雨","阴天"))
st.success(status)

效果为:

2.2.7 Selection Box

Selection Box为可选框,作用和Radio Button类似,会返回被选择的项目值。

import streamlit as st

status = st.selectbox("今天天气", ("晴","雨","阴天"))
st.success(status)

效果为:

2.2.8 Multi-SelectBox

Multi-SelectBox为可以选择多个选项的框,会返回所以选项值。

import streamlit as st
hobby = st.multiselect("兴趣:", ["Dancing", "Reading", "Sports"])
st.write("你有{}种兴趣,分別是{} ".format(len(hobby), hobby))

 

效果为:

2.2.9 Button

button为普通按钮,被点击时值会变为 True。

import streamlit as st

btn = st.button("按钮")
if btn:
    st.text("按下按钮!")

 

效果为:

 

2.2.10 Text Input

文本输入框,是指从前端获取文本。

import streamlit as st

name = st.text_input("输入名字", "Type Here …")
if(st.button("完成")):
    result = name.title()
    st.success(result)

效果为:

2.2.11 Slider

slider滑动条用于从窗体获取特定的数值。

import streamlit as st

level = st.slider("选择难度",1,10)
st.text('Selected: {}'.format(level))

效果为:

2.2.12 File uploader

File uploader上传文件工具,用于将特定文件上传到程序,并处理之。

import streamlit as st
from PIL import Image

uploaded_image = st.file_uploader("Please choose an image file", type=["png","jpg","jpeg"])

if uploaded_image is not None:
    image = Image.open(uploaded_image)
    st.image(image, width=None)

 

效果为:

2.2.13 SideBar 

SideBar侧边栏,如果在组件前加入SideBar 可以建立,一个两页式页面。

import streamlit as st
from PIL import Image

level = st.sidebar.slider("选择难度", 1, 10)
record = st.sidebar.checkbox("背景同阴影。")
btn = st.sidebar.button("请点击")

uploaded_image = st.file_uploader("Please choose an image file", type=["png","jpg","jpeg"])

if uploaded_image is not None:
    image = Image.open(uploaded_image)
    st.image(image, width=None)

效果为:

2.2.14 其他用法

显示表格:

st.write(1234)
st.write(pd.DataFrame({
     'first column': [1, 2, 3, 4],
     'second column': [10, 20, 30, 40],
 }))

显示仪表盘:

st.metric(label="Temperature", value="70 °F", delta="1.2 °F")

显示代码块:

st.code()

显示数学公式latex格式:

st.latex()

选择颜色:

st.color_picker()

2.3 streamlit运行原理

总结一下整体的运行机理:
(1)Streamlit的apps是从上到下执行的Python脚本;
(2)每次当一个用户打开浏览器,访问你的app后,上述脚本就会重新执行;
(3)当脚本执行时,Streamlit在浏览器渲染它的输出;
(4)脚本使用Streamlit缓存来避免重复执行昂贵的运算,所以结果更新会非常快;
(5)每次当用户与部件进行交互时,脚本就会重新运行,部件的返回值也会更新为最新状态。

https://docs.streamlit.io/library/api-reference/data/

2.4 应用效果图

聊天界面。

0条评论
0 / 1000
wukaishuns
5文章数
0粉丝数
wukaishuns
5 文章 | 0 粉丝
原创

Streamlit网页可视化工具的使用

2023-07-25 08:35:30
507
0

Streamlit是一个开源Python库,其旨在为机器学习和数据科学领域简单快速地创建和分享美观的、定制化的web应用。使用Streamlit,用户仅仅几分钟即可创建和部署强大的数据应用。

Streamlit的目标是创建一个开源框架,以将Python脚本转换为交互式应用程序为目标。Streamlit的口号是"构建和共享数据应用程序的最快方式"。Streamlit的一个主要优点是其快速简便的开发流程。运行 Streamlit 服务器后,可以直接对源代码进行更改,并且每当保存文件时,应用程序都会更新以反映浏览器中的这些更改。

1.安装

pip install streamlit

2.使用方法

2.1 启动项目

如果是运行自己的项目,则运行:

streamlit run myapp.py

myapp.py是自己编写的streamlit项目。

如果代码无误,命令行床则会直接出现下列页面,然后弹出网页。如果未弹出,可通过访问上述地址进入。

也可以尝试官方提供的demo。

streamlit hello

在开发阶段,最好是开启"开发模式",这样只要保存代码后,Streamlit就能重新运行app。这会极大地提高开发效率。开启方式是在右上角选择"Always rerun"。

2.2 streamlit常用语法

2.2.1 基本的文字显示(markdown)

import streamlit as st
st.title("Streamlit的Title!")
st.header("Streamlit的header")
st.subheader("Streamlit的subheader")
st.text("Streamlit的text....")
st.markdown("### Streamlit的markdown\nctyunos\n #### 基础架构\n 操作系统 ![12]

 

效果图:

2.2.2 消息状态显示

import streamlit as st
st.success("Success")
st.info("Information")
st.warning("Warning")
st.error("Error")

 

效果如下:

2.2.3 write和txt的区别

import streamlit as st
st.write(range(1,100))
st.write(range(1,100))

2.2.4 显示图片

配合pillow库,streamlit可以直接显示图形。

import streamlit as st
from PIL import Image
img = Image.open("12.png")
st.text("图片展示:")
st.image(img, width=500)

 

效果图:

2.2.5 check box用法

check box为可勾选框,如果被选择,则返回True。

import streamlit as st


if st.checkbox("Show/Hide"):
    st.text("Showing the widget")

效果为:

勾选前:

勾选后:

2.2.6 Radio Button

radio button为复选按钮,可以根据选择的项目,来返回不同值。

import streamlit as st

status = st.radio("今天天气", ("晴","雨","阴天"))
st.success(status)

效果为:

2.2.7 Selection Box

Selection Box为可选框,作用和Radio Button类似,会返回被选择的项目值。

import streamlit as st

status = st.selectbox("今天天气", ("晴","雨","阴天"))
st.success(status)

效果为:

2.2.8 Multi-SelectBox

Multi-SelectBox为可以选择多个选项的框,会返回所以选项值。

import streamlit as st
hobby = st.multiselect("兴趣:", ["Dancing", "Reading", "Sports"])
st.write("你有{}种兴趣,分別是{} ".format(len(hobby), hobby))

 

效果为:

2.2.9 Button

button为普通按钮,被点击时值会变为 True。

import streamlit as st

btn = st.button("按钮")
if btn:
    st.text("按下按钮!")

 

效果为:

 

2.2.10 Text Input

文本输入框,是指从前端获取文本。

import streamlit as st

name = st.text_input("输入名字", "Type Here …")
if(st.button("完成")):
    result = name.title()
    st.success(result)

效果为:

2.2.11 Slider

slider滑动条用于从窗体获取特定的数值。

import streamlit as st

level = st.slider("选择难度",1,10)
st.text('Selected: {}'.format(level))

效果为:

2.2.12 File uploader

File uploader上传文件工具,用于将特定文件上传到程序,并处理之。

import streamlit as st
from PIL import Image

uploaded_image = st.file_uploader("Please choose an image file", type=["png","jpg","jpeg"])

if uploaded_image is not None:
    image = Image.open(uploaded_image)
    st.image(image, width=None)

 

效果为:

2.2.13 SideBar 

SideBar侧边栏,如果在组件前加入SideBar 可以建立,一个两页式页面。

import streamlit as st
from PIL import Image

level = st.sidebar.slider("选择难度", 1, 10)
record = st.sidebar.checkbox("背景同阴影。")
btn = st.sidebar.button("请点击")

uploaded_image = st.file_uploader("Please choose an image file", type=["png","jpg","jpeg"])

if uploaded_image is not None:
    image = Image.open(uploaded_image)
    st.image(image, width=None)

效果为:

2.2.14 其他用法

显示表格:

st.write(1234)
st.write(pd.DataFrame({
     'first column': [1, 2, 3, 4],
     'second column': [10, 20, 30, 40],
 }))

显示仪表盘:

st.metric(label="Temperature", value="70 °F", delta="1.2 °F")

显示代码块:

st.code()

显示数学公式latex格式:

st.latex()

选择颜色:

st.color_picker()

2.3 streamlit运行原理

总结一下整体的运行机理:
(1)Streamlit的apps是从上到下执行的Python脚本;
(2)每次当一个用户打开浏览器,访问你的app后,上述脚本就会重新执行;
(3)当脚本执行时,Streamlit在浏览器渲染它的输出;
(4)脚本使用Streamlit缓存来避免重复执行昂贵的运算,所以结果更新会非常快;
(5)每次当用户与部件进行交互时,脚本就会重新运行,部件的返回值也会更新为最新状态。

https://docs.streamlit.io/library/api-reference/data/

2.4 应用效果图

聊天界面。

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0