数据可视化-课堂记录

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. 构建一个optionvar 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 和  echartsdiv1 = document.getElementById("main2")myecharts2 = echarts.init(div1)// 5. 一个optionvar 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) {// 把请求到响应转换为jsonreturn response.json();}).then(function(myJson) {// 转换后的json数据  输出到控制台console.log(myJson);console.log(myJson);// 提取json数据中的key对应的value 并且把value赋值给optionoption3.series[0].data = myJson['c']option3.series[1].data = myJson['d']// 6.把option传递给myechartsmyecharts2.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.代码实现:
数据集加载
数据探索
数据处理
数据分析可视化
数据挖掘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/12080.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS 实现冒泡排序

冒泡排序原理&#xff1a; 升序冒泡&#xff1a;两次循环&#xff0c;相邻元素两两比较&#xff0c;如果前面的大于后面的&#xff0c;就交互位置&#xff1b; 降序冒泡&#xff1a;两次循环&#xff0c;相邻元素两两比较&#xff0c;如果前面的小于后面的&#xff0c;就交互…

stable-diffusion-webui配置

源码地址 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git报错Fresh install fail to load AttributeError: NoneType object has no attribute _id pydantic降级 pip uninstall pydantic pip install pydantic1.10.11记得要把clip-vit-large-patch14放在opena…

业务逻辑攻击是什么,如何有效进行防护

想象一下&#xff1a;您的开发团队刚推出了一款令人惊叹的全新应用程序&#xff0c;它具有顶级的API安全性&#xff0c;通过客户端保护对其进行了强化&#xff0c;甚至还设置了针对机器人攻击的防御措施。你感到这款产品很有安全保障&#xff0c;自己的团队出色地完成了工作。 …

解决Java Web应用中下载文件无法打开的问题

在Java Web应用中&#xff0c;文件下载是一个常见的功能。但有时候&#xff0c;即使代码看起来正确&#xff0c;下载的文件却无法正确打开。 问题描述 假设我们有以下代码用于下载文件&#xff1a; response.addHeader("Content-Disposition", "attachment;fi…

服务器通的远程桌面连接不上,关于服务器通畅但远程桌面连接不上问题的专业分析

在日常的企业IT管理中&#xff0c;服务器远程桌面连接是一个重要的操作功能。然而&#xff0c;有时会出现服务器网络通畅&#xff0c;但远程桌面无法连接的情况。 问题分析 1. 防火墙或安全组设置问题&#xff1a;服务器的防火墙或安全组可能阻止了远程桌面连接的端口&#xf…

adobe安装“Error:SyntaxError:JSON Parse error:Unexpec

mac电脑安装Adobe时&#xff0c;会提示错误“Error:SyntaxError:JSON Parse error:Unexpected EOF”&#xff0c;这是怎么回事儿的&#xff0c;不管您是安装AI、PS、PR还是LR&#xff0c;如果也遇到相同的问题&#xff0c;可以参考一下方法解决&#xff1a; 「adobe安装提示错误…

Java RMI反序列化总结篇-01

1.java rmi反序列化 RMI 允许一个应用程序访问另外一个服务器或虚拟机上的对象&#xff0c;方法和服务&#xff0c;它使远程方法调用就像在本地调用一样简单。它为用户屏蔽了底层的网络传输细节&#xff0c;使用的时候只需适当处理异常即可。所以 RMI 是非常容易使用的&#x…

Kubernetes集群安装

Kubernetes集群安装 环境准备 192.168.1.53 k8s-master 192.168.1.52 k8s-node-1 192.168.1.51 k8s-node-2 设置三台机器的主机名&#xff1a; Master上执行&#xff1a; [rootlocalhost ~]# hostnamectl --static set-hostname k8s-masterNode1上执行&#xff1a; [ro…

vue3+vite项目部署服务器,选择非根目录访问

背景 vue3vite项目&#xff0c;需要部署服务器。 但是根目录已经部署了另外一个项目A了&#xff0c;这个时候要在部署另外一个项目B。 问题 比如你的地址是http://test.com 之前直接输入http://test.com即可访问A项目 如果B项目也这么干的话就冲突了 访问A&#xff1a;http…

哪款骨传导耳机最值得入手?精选5款顶尖配置的骨传导耳机,闭眼入也不踩雷!

作为一名有着多年工作经验的数码博主&#xff0c;我见证了无数因盲目追求新颖而引发的听力问题。在此&#xff0c;我必须郑重提醒大家&#xff0c;虽然市面上充斥着众多声称能提供卓越音质和佩戴舒适度的骨传导耳机品牌&#xff0c;但它们之间存在大量劣质产品&#xff0c;这类…

centos7安装zabbix-server

zabbixan-server安装 环境安装zabbix安装zabbix配置apachezabbix-UI前端配置修改zabbix为中文语言 环境 准备&#xff1a; centos7系统、mysql数据库/MariaDB数据库 mysql数据库可参照&#xff1a;https://blog.csdn.net/weixin_61367575/article/details/138774428?spm1001.…

算法-卡尔曼滤波之卡尔曼滤波的第二个方程:预测方程(状态外推方程)

在上一节中&#xff0c;使用了静态模型&#xff0c;我们推导出了卡尔曼滤波的状态更新方程&#xff0c;但是在实际情况下&#xff0c;系统都是动态&#xff0c;预测阶段&#xff0c;前后时刻的状态是改变的&#xff0c;此时我们引入预测方程&#xff0c;也叫状态外推方程&#…

企业为什么进行大数据迁移以及注意事项

在当今数字化时代&#xff0c;数据的迁移成为了企业优化其数据架构、提高数据处理能力、确保业务连续性和数据安全的关键步骤。企业可能出于多种原因&#xff0c;如成本效益、性能提升、系统升级、数据集中管理或云服务集成等&#xff0c;选择将数据从一个存储系统迁移到另一个…

Spring Boot 整合讯飞星火3.5通过接口Api接口实现聊天功能(首发)复制粘贴即可使用,后续更新WebSocket实现聊天功能

程序员必备网站&#xff1a; 天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/ 1.pom.xml <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.72</version></dependency><depen…

html5关于WebSocket的一些特点与用例

WebSocket通信机制是一种在单个TCP连接上进行全双工通信的协议&#xff0c;它允许服务器主动向客户端推送数据&#xff0c;而无需等待客户端的请求。以下是WebSocket通信的主要机制&#xff1a; 握手协议&#xff1a;WebSocket通信的第一步是通过HTTP协议进行握手。当客户端发…

C++ QT设计模式:访问者模式

基本概念 访问者模式&#xff08;Visitor Pattern&#xff09;是一种行为型设计模式&#xff0c;它允许你在不改变被访问类的前提下&#xff0c;定义对其进行操作的新操作。 实现的模块有&#xff1a; ObjectStructure&#xff08;对象结构&#xff09;&#xff1a;用于存储…

轻松拿下指针(5)

文章目录 一、回调函数是什么二、qsort使用举例三、qsort函数的模拟实现 一、回调函数是什么 回调函数就是⼀个通过函数指针调⽤的函数。 如果你把函数的指针&#xff08;地址&#xff09;作为参数传递给另⼀个函数&#xff0c;当这个指针被⽤来调⽤其所指向的函数 时&#x…

计算模型的边界

https://github.com/libigl/libigl.git 这是几何计算库&#xff0c;可以计算出模型的边界 #define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <igl/boundary_loop.h>#include <igl/list_to_matrix.h>int main(){std::vector<std::vector<…

肺部营养“救星”,让每次呼吸更自由

​#肺科营养#朗格力#班古营养#复合营养素#肺部营养# 正常的健康人,每天自由幸福的呼吸。但是对于肺病患者来说,特别是慢阻肺人群,每一次呼吸都可能是一场挑战,每一口气都显得弥足珍贵。 肺病患者号称沉默的“呼吸杀手”,它虽然沉默,但不代表它没能力,除了引起肺功能下降,氧气…

云商店如何让更多企业摘到技术普惠的“果实”?

文 | 智能相对论 作者 | 沈浪 现阶段&#xff0c;越是工业体系发达的地区&#xff0c;越需要加速技术普惠的步伐。比如&#xff0c;在苏州&#xff0c;华为云就在联合当地政府、企业伙伴打造以华为云云商店为重要链接的智能化商业增长底座。 华为云云商店以“电商式”的购物…