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

基于streamlit的Python Web可视化展示模板

admin 阅读: 2024-03-28
后台-插件-广告管理-内容页头部广告(手机)

全国大学数据集

 数据集

工作台 - Heywhale.com

工作台 - Heywhale.com  

可视化界面

 

 

 主函数

streamlit 启动 

打开python文件对应的文件夹目录 

使用streamlit run 对应的py文件 

  1. if __name__ == '__main__':
  2. f = open('t.txt', encoding='gbk')
  3. data = int(f.read())
  4. if data == 0:
  5. st.title("全国大学可视化界面")
  6. data = login(data)
  7. print(data)
  8. if data == 1:
  9. with open("t.txt", "w") as f:
  10. f.write("1")

登录界面streamlit实现,这里streamlit框架是一直不断刷新,所以要用外部的控制刷新,或者跳转来解决

  1. def login(date):
  2. if date == 0:
  3. # 显示登录表单
  4. st.sidebar.subheader('登录界面')
  5. username = st.sidebar.text_input("用户名")
  6. password = st.sidebar.text_input("密码", type="password")
  7. # 处理登录逻辑
  8. if st.sidebar.button("登录"):
  9. cursor = cnx.cursor()
  10. query = "SELECT * FROM login WHERE username = %s AND password = %s"
  11. cursor.execute(query, (username, password))
  12. result = cursor.fetchone()
  13. cursor.close()
  14. if result:
  15. st.sidebar.success("登录成功!")
  16. data=1
  17. return data
  18. else:
  19. st.sidebar.error("用户名或密码错误。")
  20. if st.sidebar.button("注册"):
  21. cursor = cnx.cursor()
  22. query = "INSERT INTO login (username, password) VALUES (%s, %s)"
  23. cursor.execute(query, (username, password))
  24. cnx.commit()
  25. st.sidebar.success("注册成功!")
  26. cursor.close()
  27. else:
  28. pass

选择框,sidebar是侧边

b = st.sidebar.selectbox('选择表', ["无", "数据表", "处理后的数据表"])

显示视频

st.video(open('地址.mp4', 'rb').read())

显示图,html方法

  1. def pie2(data):
  2. if data== "饼图":
  3. text = ""
  4. with open("地址.html") as fp: # 如果遇到decode错误,就加上合适的encoding
  5. text = fp.read()
  6. components.html(text, height=800, width=800)
  7. else:
  8. pass
  1. def pie1(pie):
  2. if pie == '全国学校省份分布':
  3. st.write(pie)
  4. data1 = pd.read_csv('地址.csv')
  5. data = pd.DataFrame(data1)
  6. types = data['省份'].value_counts()
  7. data = {'省份': types.index, '个数': types.values}
  8. df = pd.DataFrame(data)
  9. pie = (
  10. Pie(init_opts=opts.InitOpts(width="1000px", height="600px"))
  11. .add("", data_pair=[list(z) for z in zip(df["省份"], df["个数"])]
  12. ,radius=["20%", "50%"],center=["50%","70%"])
  13. .set_global_opts(title_opts=opts.TitleOpts(title="全国学校省份分布", pos_top='90%',pos_right='center'), \
  14. toolbox_opts=opts.ToolboxOpts(is_show=True, pos_left='left', pos_top='bottom'))
  15. .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
  16. )
  17. ste.st_pyecharts(
  18. pie
  19. )
  20. else:
  21. pass
  22. return

全部代码和图在同站有上传https://download.csdn.net/download/weixin_52810349/87953900

参考文献

Pyecharts坑之一---“画图不显示“_pyecharts不出图_bug你不要过来啊的博客-CSDN博客 解决方案

基于Python的Streamlit框架数据可视化_python streamlit_帅帅的鱼大哥的博客-CSDN博客 streamlit可视化大致

Streamlit开发手册 - 汇智网 汇智网streamlit开发手册

超级炫酷和低成本学习的python web框架streamlit!_哔哩哔哩_bilibili 哔哩哔哩streamlit 简单开发视频

Get started - Streamlit Docs streamlit官网

streamlit中用pyecharts展示学生排名_pyecharts streamlit_limaning的博客-CSDN博客 streamlit思路

数据可视化 - Streamlit实现页面组件交互与展示(以K-Means为例)_streamlit 布局_Sakura Memory?的博客-CSDN博客 交互

基于streamlit的表格展示-完美解决方案_streamlit aggrid_euler1983的博客-CSDN博客 表格绘图

streamlit自定义图表大小 (用components渲染pyecharts等)_pyecharts stremlit_limaning的博客-CSDN博客 主页自定义大小

【Python基础】惊叹,Pyecharts绘制饼图原来可以如此漂亮!_51CTO博客_pyecharts 饼图 饼图绘画

streamlit快速入门!_江户川柯东的博客-CSDN博客 streamlit思路

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

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

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

搜索