数据可视化-课堂记录

week02

# 数据可视化的发展历史 作用  格式塔原则
# 数据可视化的流程

# 数据分析 指标体系建设 确定一个行业+指标体系+实现报表(power bi  python matplotlib seaborn pyecharts echarts)
# 数据分析面试  
技术:sql+excel+python+powerbi+spss  
业务:理解一个行业,做日报周报月报外加临时取数,并进行指标异常分析

# 课程目标
完成一个BI报表:神策数据
懂业务+会一种BI技术+会指标体系构建+评价体系


# power bi快速实现了一个报表
# matplotlib 2周  如何理解这个库 + 更好的使用
https://blog.csdn.net/m0_38139250/article/details/136796724
# 6-8 周 seaborn库 如何理解这个库 + 更好的使用
https://blog.csdn.net/m0_38139250/article/details/137009691

机器学习的流程

有数据集
数据探索EDA 多少条 什么类型 有无缺失值 数据是文本or连续or离散 数据分布情况 特征之间和特征于标签之间的关系如何
数据特征工程预处理 缺失值填充删除不管 文本转换为数字onehot独热二进制序列编码 数字太大进行归一化 产生新的特征
数据模型选择 逻辑回归
模型评估
模型优化 交叉验证和模型融合

seabron

Seaborn是一个用Python制作统计图形的库。它构建在matplotlib之上,并与pandas数据结构紧密集成。
Seaborn帮助您探索和理解您的数据。它的绘图功能对包含整个数据集的数据框架和数组进行操作,并在内部执行必要的语义映射和统计聚合以生成信息丰富的绘图。它的面向数据集的声明性API让您可以专注于图表的不同元素的含义,而不是如何绘制它们的细节。
ax=sns.relplot(x=“total_bill”,y=“tip”,hue=“day”,
col=“time”,row=“sex”,data=tips,kind=“line”)

seaborn是做什么的

帮助理解数据 完整数据 内部语义映射 面向数据集的声明式api 不需要关注如何实现,只要关注要做什么

seaborn模块设计思想

绘图函数 有两个级别 画布级FacetGrid(大多用这个) 子图级(如果要和matplotlib的子图一起做,就用这个)

relplot
分布
分类

双变量联合分布于单变量分布图 joinplot 画布
双变量分布图 pairplot

seaborn基本使用

from matplotlib import pyplot as plt 
import matplotlib as mpl
import numpy as np 

x = np.linspace(0, 2, 100)

fig, ax = plt.subplots()  
ax.plot(x, x, label='linear')  
ax.plot(x, x**2, label='quadratic')  
ax.plot(x, x**3, label='cubic')  
ax.set_xlabel('x label') 
ax.set_ylabel('y label') 
ax.set_title("Simple Plot")  
ax.legend() 
plt.show()
# Import seaborn
import seaborn as sns

# Apply the default theme
sns.set_theme()

# Load an example dataset 需要
# tips = sns.load_dataset("tips")
tips = sns.load_dataset("tips",cache=True,data_home=r'.\seaborn-data')

# Create a visualization
sns.relplot(
    data=tips,
    x="total_bill", y="tip", col="time",
    hue="smoker", style="smoker", size="size",
)



# 画布级别 通过col和row绘制多个子图
ax=sns.relplot(x="total_bill",y="tip",hue="day",
            col="time",row="sex",data=tips,kind="line")
# ax.figure.set_size_inches(5,5)
plt.suptitle("7-指定col和row")

# 轴级别
fig,axes=plt.subplots(1,1)
ax = sns.scatterplot(x="total_bill", y="tip",hue="day",
 style="time",size='size',data=tips,ax=axes)

=============================

seaborn库使用

导入数据
绘图:画布级接口 子图级接口

关系:x和y都是连续或是x为多个离散值
分类:一个变量为分类的

人口普查的案例
说明了通过seaborn可以有效的帮我们理解数据
作业:
seaborn怎么学习,掌握数据集 钻石 四重奏
介绍相关、分类、分布、回归、结构网格绘图的作用,并描述其中的画布级(图形级)别函数 和 轴级函数 是什么,有什么特点,并能说出5个常见的参数以及作用
餐馆案例,你是餐馆老板,上周收入10000块,这周8000块,怎么进行分析,指标拆解,这个数据的变动到底是哪一个细粒度数据应用,按照人货场,
VIP 3000–1000 散客 1000-1000 外卖6000-6000得出是VIP用户消费少了,活动针对VIP,
VIP用户怎么少了 男女 男1000-500 女2000-500 针对与女性VIP进行进一步的拆解

模型

考上研究生
100条 1条 Y
99 N
N 99%
50人
姓名 age 住址 高数 概率论 英语1 2 3 4 计算机网络 体测 社团数量 竞赛 考研成绩
XX 20 河南 92 87 80 75 82 65 80 2 3 351

============================

Echarts

百度开源 apache基金会
能做什么 想做得都能做

canvas svg —》zrender 封装 —>echarts 对zrender 封装

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- <script src=""></script> -->
    <!-- 1.导入echarts.js  import -->
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2/dist/echarts.js"></script>
    <title>Document</title>
</head>
<body>
    <!-- 2. 提供一个具有 宽 和 高的 元素 div -->
    <div id="main" style="width: 600px;height: 600px;">  </div>
    <!-- 3. 提供一个script元素 写js代码 -->
    <script>
      // 4. 初始化元素为echarts对象
      var myid = document.getElementById("main");
      var myecharts = echarts.init(myid);


        //   5. 构建一个option
        var option = {
            // 6. 看官网
        }

        // 6. myecharts.setOption(option)
        myecharts.setOption(option)

    </script>
</body>
</html>

==============================
目标:前后端异步交互的可视化实现
项目目录

webapp.py
templates/index.html
static/js/echarts.js

1.写一个flask 接受 /index请求 返回 index.html页面

@app.route('/index')
def index():
    return render_template('index.html')

2.前端 发送异步请求 fetch 发送给后端的一个请求request,后端web框架会接受 flask

<script>
    fetch("http://127.0.0.1:5000/api_json2")
    .then(res => res.json())
    .then(function(data) {
        console.log(data);
        alert(data['data'][0]["name"]);
    })
</script>

2.flask 接受前端的请求 进行数据的读取,封装为json,返回给前端

dict1 = {"result":"success", "data":[{"name":"北京","value":3245.896},{"name":"上海","value":2789.8}]}
@app.route('/api_json2')  # 127.0.0.1:5000/api_json1
def api_json1():
    return jsonify(dict1)

3.前端在异步请求中获取响应 response ,解析 把解析后的数据 放在option中的series中

<script>
        // 4.绑定main 和  echarts
        div1 = document.getElementById("main2")
        myecharts2 = echarts.init(div1)
        
        // 5. 一个option
        var option3={
            xAxis:{
                type:'category',
                data:['a','b','c','d']
            },
            yAxis:{
                type:'value'
            },
            series:[
                {
                    data:[],
                    type:'scatter'
                },
                {
                    data:[],
                    type:'pie'
                }
            ]
        }
        // fetch 是 js内置的异步请求函数  请求json的接口
        fetch('http://127.0.0.1:5000/jsonify2')
            .then(function(response) {
                // 把请求到响应转换为json
                return response.json();
            })
            .then(function(myJson) {
                // 转换后的json数据  输出到控制台
                console.log(myJson);
                console.log(myJson);
                // 提取json数据中的key对应的value 并且把value赋值给option
                option3.series[0].data = myJson['c']
                option3.series[1].data = myJson['d']

                // 6.把option传递给myecharts
                myecharts2.setOption(option3)
            });

    </script>

==============================

echarts做一个前后端交互的可视化大屏
目的完成一个前后端交互的可视化==Echarts5.3.2可视化案例-交互篇
django flask fastapi
1.基于html和css实现页面布局,包括9个具有宽高的div
2.基于flask提供9个接口 /jsonbar 返回对应json数据
3.前端发生9个异步请求 请求对应的 /json 接口 获取json数据
4.前端针对获取到的json数据进行解析
5.把获取到的数据填入option的series的data中
fetch ajax 功能一样 都是异步刷新

==================================

报表设计与实现

指标体系 标签体系 评价体系

1.多个可视化大屏,每个可视化大屏是一个主题域
给销售人员(销售额 地区销售额 人员销售 销售订单 排名 销售目标)
给财务人员(收入 支出 固定成本 流水 …)
给供应链人员(待生产 现有库存 原材料的缺口 产品库的数据 …)
给生产人员
给决策人员
给安全风险人员
给质量检测人员

2.类似excel透视表的交互表格 fine report做后端

1.什么是flex
2.什么是rem flexable.js提供的一个可以随浏览器变化的单位

=========================================

课程目标:懂业务+会一种BI技术+会指标体系构建+评价体系

技术:matplotlib seaborn echarts 数据可视化绘图
应用:
数据分析报告和行业白皮书:matplotlib seaborn + 特定pyecharts+powerbi+finebi
https://www2.deloitte.com/content/dam/Deloitte/cn/Documents/consumer-business/deloitte-cn-consumer-coffee-industry-whitepaper-2021-210412.pdf

报表系统:WEB+数据开发 echarts 多个可视化大屏
https://cn.bing.com/images/search?q=%e7%a5%9e%e7%ad%96%e6%95%b0%e6%8d%ae&form=HDRSC2&first=1

知道什么样的图表达了什么信息,才能正确的使用图形
https://blog.csdn.net/m0_38139250/article/details/137217930

数据分析报告:
1.先把结论说明下
2.数据定义:关键指标 以及 指标定义
3.数据分析方法:对比和趋势 osm模型和象限模型,swot模型
4.分析过程:图文表的结合,要有明确结论
5.代码实现:
数据集加载
数据探索
数据处理
数据分析可视化
数据挖掘

  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
EduSoho网络课堂最新官方版,EduSoho 是协助机构和个人建立在线教育网站的开源建站系统,提供在线教学、网校管理、云视频点播等功能。EduSoho由杭州阔知网络科技有限公司开发,于2013年10月8日开放RC版本下载。 EduSoho功能简介 1. 课程发布系统 支持三种课时类型:视频、图文、音频 除自主发布视频,也可以引用站外视频 课程目标和适合人群,协助学员定位 资料上传、测验题库维护,增强教学效果 可视化课时管理,可以对逐个课时进行发布,支持连载课程 2. 在线学习系统 课程展示页面和学习页面分离,让处于不同体验时期的学员获得该时期的必要信息 支持支付宝购买课程 笔记、资料,学员可随时记录知识要点,查看、下载课时资料 问答、讨论区,师生之间、学员之间可有效沟通 在线测验,学生学习后可进行测验了解掌握状况。 支持大部分移动客户端 3. 系统功能 支持三种管理权限:教师、管理员、超级管理员。用于三种不同分工 后台首页仪表盘,全面快速了解网校的运营、收入情况 简洁的内容管理,通过页面、导航、编辑区有效的组织网站 各种模版选择和定制,让网站独具特色! 云服务支持,通过简单设置实现云服务升级 服务器端运行环境推荐 操作系统:Linux 推荐使用Ubuntu,Fedora,CentOS,Gentoo Web服务器:推荐Nginx或Apache2 MYSQL数据库:推荐5.0以上版本 PHP版本:推荐5.3.17以上 EduSoho网络课堂 v2.6.0 更新日志: 新功能:可设置课程为连载课程 新功能:后台系统用户中心设置,可设置提醒用户上传头像 优化:改进js载入机制,支持主题也能载入自己的js以及js库。 修复:管理后台私信文字大于500字时,用户无法注册 修复:推荐课程排序未按顺序号排序 修复:提交试卷,可能会双倍算分的问题 修复:我的帐户,基础信息设置,姓名的错误提示信息不正确 修复:在后台关闭了新会员发送欢迎信息的功能,但每次注册都发送 修复:管理后台首页,受欢迎课程区域,“新增收入”的数据显示不正确 修复:特定条件下,新装EduSoho可能会乱码的问题 修复:第三方登录的时候,取第三方接口超时,数据取不到,报错的问题 修复:第三方登录未记录IP地址
课堂投票系统是一个专为教学环境设计的应用程序,它允许教师或演讲者在课堂或会议中实时收集参与者的反馈。这个系统通常需要具备用户友好、响应速度快和易于分析结果的特点。使用Python项目框架开发的此类系统可以利用各种Web技术来实现这些功能。 主要特性和功能可能包括: 1. **实时投票**:允许学生通过移动设备或计算机即时参与投票。 2. **多种问题类型**:支持单选、多选、开放式回答等多种问题类型。 3. **即时结果显示**:收集到的投票结果可以实时显示在屏幕上,便于整体分析。 4. **数据导出**:提供将投票结果导出为CSV或Excel文件的功能,以便于后续分析。 5. **用户管理**:允许教师或管理员管理投票问题、查看投票结果和历史记录。 6. **界面定制**:提供一定程度的界面定制选项,以满足不同教学场景的需求。 7. **匿名投票**:确保学生的投票是匿名的,以便获得更真实的反馈。 技术栈通常涉及: - Python编程语言:作为主要的后端逻辑和数据处理语言。 - Web框架:如Flask或Django,用于快速搭建Web应用和服务端逻辑。 - 前端技术:HTML, CSS, JavaScript以及可能的框架如React或Vue.js,负责构建用户界面。 - 数据库技术:如SQLite、MySQL、PostgreSQL或MongoDB,用于存储用户信息、投票数据和历史记录。 部署方式可能包括: - 本地部署:在学校或机构的服务器上配置环境运行系统。 - 云服务部署:将系统部署到云平台,如AWS、Azure或Google Cloud,以便稳定地服务于广泛的用户群体。 该系统对于提升课堂互动和获取学生意见非常有用,它可以增加学生参与度,帮助教师更好地理解学生的学习状态和需求。随着技术的发展,未来这个系统可能会集成更多高级的数据分析工具,提供更丰富的可视化选项,甚至整合人工智能辅助进行教学决策。此外,系统还可能通过增加更多的互动元素,如实时问答或游戏化元素,来进一步提高学生的参与度和兴趣。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT从业者张某某

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值