赞
踩
近期再学习过程中,需要用到streamlit辅助开发web应用,为此,对streamlit官方API进行了较为全面的学习与了解,笔者将记录的streamlit库学习笔记记录在此,再使用过程中遇到问题,建议直接查看官方API,官方API链接如下:
streamlit官方API
1. markdowm文本
2. 数据显示支持
3. 图表可视化支持
4. 用户操作支持
5. 多媒体组件
6. 状态组件
7. 页面布局与容器
8. 流程控制系统
9. 云端部署
10. 其他
streamlit是一个开源的python库,能够快速帮助用户创建定制化的web应用,特别是在机器学习和数据科学领域。
1. API简明易用
API(Application Program Interface)非常友好,结构清晰,容易上手
2. 无需掌握前端开发知识,如html,JavaScript,css等就可以构建web应用
(1)封装大量常用组件方法,支持大量数据表、图表等对象的渲染,支持网格化、2.响应式布局
(2)渲染语言为Markdowm;支持HTML文本的渲染。所以也能嵌入HTML或CSS等代码块到应用中
3. 社区资源丰富
(1)官方论坛非常活跃https://discuss.streamlit.io/
(2)官方文档提供了丰富的实例和源码https://docs.streamlit.io/library/api-reference
能让创作者专注于内容和后端业务的实现,但是又能够生成基于web的GUI,无需在前端耗费大量心力
st.markdown('Streamlit is **_really_ cool**.')
st.markdown("This text is :red[colored red], and this is **:blue[colored]** and bold.")
st.markdown(":green[$\sqrt{x^2+y^2}=1$] is a Pythagorean identity. :pencil:")
df = pd.DataFrame(
np.random.randn(4, 3),
columns=('列 %d' % i for i in range(3)))
st.table(df)
df = pd.DataFrame(
np.random.randn(10, 5),
columns=('列 %d' % i for i in range(5)))
st.dataframe(df.style.highlight_max(axis=0))
还有n多种样式,如:
highlight_null:空值高亮
highlight_min:最小值高亮
highlight_max:最大值高亮
highlight_between:某区间内的值高亮
col1, col2, col3 = st.columns(3)
col1.metric("Temperature", "70 °F", "1.2 °F")
col2.metric("Wind", "9 mph", "-8%")
col3.metric("Humidity", "86%", "4%")
chart_data = pd.DataFrame(
np.random.randn(20, 3),
columns=['a', 'b', 'c'])
st.line_chart(chart_data)#折线图
st.area_chart(chart_data)#面积图
st.bar_chart(chart_data)#柱状图
df = pd.DataFrame(
np.random.randn(1000, 2) / [50, 50] + [37.76, -122.4],
columns=['lat', 'lon'])
st.map(df)
streamlit是自上而下逐步渲染出来的
可以部署再streamlit cloud或其他公有云上,生成一个公网url随时访问,详细步骤可以查看相关官方手册https://docs.streamlit.io/streamlit-community-cloud
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。