streamlit (python构建web可视化框架)笔记
admin 阅读: 2024-03-25
后台-插件-广告管理-内容页头部广告(手机) |
文章目录
- 一、安装使用streamlit
- 二、streamlit使用
- 1.展示和数据样式
- 2.`dataframe()`生成交互表和`table()`方法生成静态表
- 3.绘制折线图
- 4.绘制地图
- 5.一些组件`slider()滑动条 checkbox()确认框 selectbox()选择器`
- 6.侧边栏
- 7.布局分列
- 8.多页
- 三、Steamlit可视化简单应用--冒泡排序可视化
一、安装使用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")- 1
- 2
- 3
- 4
- 5
二、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] }))- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
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 in range(8))) # 这里定义了列号 st.dataframe(dataframe.style.highlight_max(axis=0)) # 高亮每列最大值 # 默认的dataframe功能太少,st_aggrid 插件功能更多 st.write("table()方法绘制静态表") st.table(dataframe.style.highlight_max(axis=0))- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
3.绘制折线图
st.write("line_chart 方法绘制折线图") chart_data = pd.DataFrame( np.random.randn(20, 3), columns=['a', 'b', 'c'] ) st.line_chart(chart_data)- 1
- 2
- 3
- 4
- 5
- 6
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)- 1
- 2
- 3
- 4
- 5
- 6
5.一些组件slider()滑动条 checkbox()确认框 selectbox()选择器
# 组件 st.write("slider()、button()、selectbox() 方法绘制组件") x = st.slider('x') #声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
在线投稿:投稿 站长QQ:1888636
后台-插件-广告管理-内容页尾部广告(手机) |