0


streamlit (python构建web可视化框架)笔记

文章目录

一、安装使用streamlit

pip install streamlit

创建一个python文件

demo.py

,使用命令行运行在浏览器上

streamlit run demo.py

import streamlit as st
import numpy as np
import pandas as pd
st.title("This is my first app")
st.write("hello")

二、streamlit使用

官方文档 Streamlit documentation
中文文档

可参考博客1-专栏

streamlit

提供了基于

python

web应用程序框架

,以高效灵活的方式可视化数据。主要功能

  • streamlit对数据可视化渲染,表格、地图、折线图等方法
  • web页面需要的UI 组件、会话、侧边栏、多页展示的用法。
  • 缓存数据,更快的加载页面和操作。可用于数据计算、数据库查询、接口调用、运行ML模型。
  • 支持渲染 markdown字符串,展示文档。 - Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档(提供了标题、段落、列表、代码、图片表格、数学公式等标记)。

1.展示和数据样式

magic方法

write()方法
import streamlit as st
import numpy as np
import pandas as pd
st.title("This is my first app")# 有很多方式展示数据 (表格、数组、pandas的表格数据结构),magic方法、st.write()方法# magic方法
st.write("magic方法使用")
df = pd.DataFrame({'first column':[1,2,3,4],'second column':[10,20,30,40]})# pd.DataFrame( data, index, columns, dtype, copy)# data数据,index 行标签,columns列标签 默认为np.arange(n),dtype 每一列数据类型,copy 能复制数据默认false

df  # 每当Streamlit在自己的行中看到变量或文字值时,它都会使用st.write()自动将其写入您的应用程序。# st.write()方法,可以自动渲染 文本、数据、Matplotlib图形、Altair图表等等。
st.write("write() 方法使用")
st.write(pd.DataFrame({'first column':[1,2,3,4],'second column':[10,20,30,40]}))

在这里插入图片描述

2.

dataframe()

生成交互表和

table()

方法生成静态表

# 其他特定功能函数 st.dataframe() st.table()

st.write("dataframe()方法绘制交互式表")
dataframe = np.random.randn(5,3)
st.dataframe(dataframe)

dataframe = pd.DataFrame(
    np.random.randn(10,8),
    columns=('col %d'% i for i inrange(8)))# 这里定义了列号
st.dataframe(dataframe.style.highlight_max(axis=0))# 高亮每列最大值# 默认的dataframe功能太少,st_aggrid 插件功能更多

st.write("table()方法绘制静态表")
st.table(dataframe.style.highlight_max(axis=0))

在这里插入图片描述

3.绘制折线图

st.write("line_chart 方法绘制折线图")
chart_data = pd.DataFrame(
    np.random.randn(20,3),
    columns=['a','b','c'])
st.line_chart(chart_data)

在这里插入图片描述

4.绘制地图

st.write("map()方法绘制地图")
map_data = pd.DataFrame(
    np.random.randn(100,2)/[50,50]+[37.76,-122.4],
    columns=['lat','lon'])# 生成100个旧金山附近符合正态分布的坐标
st.map(map_data)

在这里插入图片描述

5.一些组件

slider()滑动条 checkbox()确认框 selectbox()选择器
# 组件
st.write("slider()、button()、selectbox() 方法绘制组件")

x = st.slider('x')# 👈 this is a widget
st.write(x,'squared is', x * x)

st.text_input("Your name", key="name")# 任何带键的组件会自动的加载到会话状态中
st.session_state.name  # name是# 确认框
st.write("checkbox() 方法绘制确定框")if st.checkbox('Show dataframe'):
    chart_data = pd.DataFrame(
        np.random.randn(20,3),
        columns=['a','b','c'])
    chart_data

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

option = st.selectbox('Which number do you like best?',
    df['second column'])'You selected: ', option

在这里插入图片描述

6.侧边栏

# 添加侧边栏组件--选择器
add_selectbox = st.sidebar.selectbox('How would you like to be contacted?',('Email','Home phone','Mobile phone'))# 添加侧边栏组件滑动条
add_slider = st.sidebar.slider('Select a range of values',0.0,100.0,(25.0,75.0))

在这里插入图片描述

7.布局分列

st.write("多列")
col1, col2, col3 = st.columns(3)# 分三列 col1,col2,col3with col1:
    st.header("A cat")
    st.image("https://static.streamlit.io/examples/cat.jpg")with col2:
    st.header("A dog")
    st.image("https://static.streamlit.io/examples/dog.jpg")with col3:
    st.header(test1.getData())
    st.image("https://static.streamlit.io/examples/owl.jpg")

在这里插入图片描述

8.多页

定义三个

python

页面

main_page.py

,新文件夹一定取名字为

pages

子文件

page2.py、page3.py
# main_page.py内容import streamlit as st

st.markdown("# Main page 🎈")
st.sidebar.markdown("# Main page 🎈")# page2.py内容import streamlit as st

st.markdown("# Page 2 ❄️")
st.sidebar.markdown("# Page 2 ❄️")# page3.py内容import streamlit as st

st.markdown("# Page 3 🎉")
st.sidebar.markdown("# Page 3 🎉")

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、Steamlit可视化简单应用–冒泡排序可视化

streamlit

可以专门针对机器学习和数据科学开发可视化界面。在使用时可以引用

python

sklearn

pytorch

tensorflow

numpy

opencv

等库,下面基于

streamlit

实现了冒泡排序可视化。

在这里插入图片描述

详细实现

标签: 笔记 python

本文转载自: https://blog.csdn.net/qq_43627100/article/details/130275774
版权归原作者 一米の阳光 所有, 如有侵权,请联系我们删除。

“streamlit (python构建web可视化框架)笔记”的评论:

还没有评论