0


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

全国大学数据集

数据集

工作台 - Heywhale.com

工作台 - Heywhale.com

可视化界面

主函数

streamlit 启动

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

使用streamlit run 对应的py文件

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

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

def login(date):
    if date == 0:
        # 显示登录表单
        st.sidebar.subheader('登录界面')
        username = st.sidebar.text_input("用户名")
        password = st.sidebar.text_input("密码", type="password")
        # 处理登录逻辑
        if st.sidebar.button("登录"):
            cursor = cnx.cursor()
            query = "SELECT * FROM login WHERE username = %s AND password = %s"
            cursor.execute(query, (username, password))
            result = cursor.fetchone()
            cursor.close()
            if result:
                st.sidebar.success("登录成功!")
                data=1
                return data
            else:
                st.sidebar.error("用户名或密码错误。")
        if st.sidebar.button("注册"):
            cursor = cnx.cursor()
            query = "INSERT INTO login (username, password) VALUES (%s, %s)"
            cursor.execute(query, (username, password))
            cnx.commit()
            st.sidebar.success("注册成功!")
            cursor.close()
    else:
        pass

选择框,sidebar是侧边

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

显示视频

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

显示图,html方法

def pie2(data):
    if data== "饼图":
        text = ""
        with open("地址.html") as fp:  # 如果遇到decode错误,就加上合适的encoding
            text = fp.read()
        components.html(text, height=800, width=800)
    else:
        pass
def pie1(pie):
    if pie == '全国学校省份分布':
        st.write(pie)
        data1 = pd.read_csv('地址.csv')
        data = pd.DataFrame(data1)
        types = data['省份'].value_counts()
        data = {'省份': types.index, '个数': types.values}
        df = pd.DataFrame(data)
        pie = (
            Pie(init_opts=opts.InitOpts(width="1000px", height="600px"))
                .add("", data_pair=[list(z) for z in zip(df["省份"], df["个数"])]
                     ,radius=["20%", "50%"],center=["50%","70%"])
                .set_global_opts(title_opts=opts.TitleOpts(title="全国学校省份分布", pos_top='90%',pos_right='center'), \
                                 toolbox_opts=opts.ToolboxOpts(is_show=True, pos_left='left', pos_top='bottom'))
                .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
        )
        ste.st_pyecharts(
            pie
        )
    else:
        pass
    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思路

标签: 数学建模 python web

本文转载自: https://blog.csdn.net/weixin_52810349/article/details/131414830
版权归原作者 myzzb 所有, 如有侵权,请联系我们删除。

“基于streamlit的Python Web可视化展示模板”的评论:

还没有评论