Python-SimpleStart网页实战系列 百年奥运数据可视化分析

本文介绍了如何使用Python库SimpleStart开发工具包,基于奥运数据库进行数据分析和可视化。步骤包括安装SimpleStart、创建开发环境,以及实现类似Streamlit的布局设计,如奖牌榜、国家分析等功能的侧边栏导航。
摘要由CSDN通过智能技术生成

目录

简介

1. 关于奥运数据库

2. 安装 SimpleStart 开发环境

3. 布局设计实现

4. 其它说明

5. 在线演示和代码


简介

首先简单介绍一下 SimpleStart 是利用Python语言开发网页和实现数据可视化的Python工具包,和Streamlit 很类似。但是它最显著的不同是基于事件驱动的,所以数据更新时不会刷新整个页面。

关于它的详细使用,请参考我的系列介绍 Python - SimpleStart 写网页的系列介绍

今天我们要用 SimpleStart 实现kaggle上的公开数据库"120年奥运记录"。



1. 关于奥运数据库

Kaggle 上的 "120 years of Olympic history: athletes and results" 数据集包含了从1896年到2016年夏季奥运会和冬季奥运会的数据记录。这个数据集提供了关于运动员、奖牌、国家或地区、运动项目等方面的详细信息,可以用于进行奥运会数据分析和可视化。

数据集中包含的字段(列)包括运动员姓名、国家或地区代码、性别、年龄、身高、体重,以及获得的奖牌情况等信息。你可以利用这些数据进行各种类型的分析,比如探索历届奥运会的参赛人数、国家的奖牌榜、运动员的表现等等。

通过分析这个数据集,你可以发现一些有趣的趋势和模式,比如不同国家地区在不同运动项目上的优劣势、运动员的年龄分布对成绩的影响等等。这个数据集是一个很好的资源,可以帮助你深入了解奥运会的历史记录和发展趋势。

2. 安装 SimpleStart 开发环境

安装很简单, pip3 install simplestart

然后利用编辑器,我个人用jupyter 创建一个代码文件 app.py

先写2行简单代码
import simplestart as ss
ss.write("Hello")

然后执行命令 ss app.py, 打开浏览器地址 http://localhost:8000, 就可以看到网页了

3. 布局设计实现

这里有一个基于 Streamlit 开发的这个数据库的可视化分析,本文的实战是利用 SimpleStart 模仿这个代码,实现同样的功能。你可以发现, SimpleStart 开发的过程和 Streamlit 是很类似的,但数据更新的时候不会刷新整个页面。

这个例子是单页面网页应用,它通过 sidebar 侧边栏来实现不同功能的数据展示。

通过它的侧边栏,我们看到主要展示部分有4个功能

  1.  Medal Tally 即奖牌榜, 选中这个选项的时候,在侧边栏的下方还有按照年代和国家地区对奖牌数据进行过滤
  2. Overall Analysis 即总体数据分析,有关于国家地区、举办城市数量、项目和每个运动项目的最成功的运动员数据等
  3. Country Analysis 即按照国家或地区的分析,包括奖牌数、参赛项目和最佳运动员数据
  4. Athlete Analysis  即运动员数据的分析,包括奖牌数目的年龄分布和男女运动员数量的比例变化

所有这些功能主要以表格或者图表方式展现。

那么怎么用 SimpleStart 实现侧边栏呢?

mysidebar = ss.sidebar() 就可以了。我们从简单原型开始说明,参考下面代码

import simplestart as ss

# 侧边栏的功能选项
func_options = ["Medal Tally", "Overall Analysis","Region Analysis","Athlete Analysis"]

# 创建侧边栏
sidebar = ss.sidebar()

with sidebar:
    ss.write("#### Olympic Data Analysis")
    ss.image("./media/images/olympics1.png")

    # 标题
    ss.write("### Select An Option")
    ss.radio(func_options, value="Medal Tally", inline = False, onchange=radio_change)
    
    # 需要加大间距的时候就用这句
    ss.space()

    # 创建占位空间
    mytabs = ss.tabs(func_options, show_tab_title = False)
    with mytabs[0]:
        ss.write("this is tab 1")
    with mytabs[1]:
        ss.write("this is tab 2")
    with mytabs[2]:
        ss.write("this is tab 3")
    with mytabs[3]:
        ss.write("this is tab 4")

运行后,应该能看到侧边栏出现了4个功能选项,点击功能选项的时候,都会执行函数radio_change,这里面会处理不同的数据展示。

我们创建tabs标签页的原因是它可以用来展示不同的内容,处理显示与隐藏也很方便。

主页的工作区域我们也创建了一个tabs, 用来显示不同的功能选项的结果。

4. 其它说明

其它的代码逻辑和Streamlit版本是一样的,建议参考 github 上的这个网址,https://github.com/udhavvvv-dev/Olympic-Data-Analysis

它是用 streamlit 开发的,在线演示 ( 可能访问比较慢 )

里面有详细的介绍,我们只是用SimpleStart重做了一遍。

5. 在线演示和代码

SimpleStart 奥运数据分析在线演示

源代码 https://github.com/readever/SimpleStart-Examples

  • 53
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值