您现在的位置是:首页 > 技术教程 正文

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

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索
排行榜