西电-数据可视化-实验五-高维非空间数据可视化

一、实验内容

在某次大型会议中,为确保会议过程安全,会场使用了电子胸牌对场内人员的移动轨迹进行了监控。现经过处理,得到了某一天内人员在场内各个区域逗留的时间统计数据(time_allocate_day1.csv,课程资料库下载)。请根据这份数据,完成以下任务:

1、设计可视化方案,通过该方案可实现对人员的分类(绘制出图像即可)

2、请分析会场中room1~6的功能。

二、思路分析

(1)进入pyecharts官网修改demo即可

本实验涉及的图表类型如下:

parallel

pie(2)代码实现:

import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Parallel, Page, Pie# 获取绘制平行坐标系的数据
def get_data_for_parallel(f):parallel_axis = []my_data = []for index, column in enumerate(f):parallel_axis.append({"dim": index, "name": column})for _, elem in f.iterrows():temp = []for i in range(24):# numpy.int64和python的int是不一样的# print(type(elem[i]))  # <class 'numpy.int64># print(type(int(elem[i]))) # <class 'int'>temp.append(int(elem[i]))my_data.append(temp)return parallel_axis, my_datadef draw_parallel(f):parallel_axis, my_data = get_data_for_parallel(f)(Parallel(init_opts=opts.InitOpts(width="1500px", height="750px")).add_schema(schema=parallel_axis).add(series_name="人员分类",data=my_data,linestyle_opts=opts.LineStyleOpts(# 线宽width=0.5,# 透明度opacity=0.5,# 线的类型 solid/dashed/dottedtype_="dashed",# 线的颜色# 线性渐变,前四个参数分别是 x0, y0, x2, y2, 范围从 0 - 1,相当于在图形包围盒中的百分比# 如果 globalCoord 为 `true`,则该四个值是绝对的像素位置color={'type': 'linear','x': 0,'y': 0,'x2': 0,'y2': 1,'colorStops': [{'offset': 0, 'color': 'yellow'}, {'offset': 1, 'color': "purple"}],"global": False})).set_global_opts(title_opts=opts.TitleOpts(title="平行坐标系")).render("parallel.html"))# 获取构建饼图的data
def get_data_for_pie(f1, f2):# id与其对应的身份id2identity = {}# 遍历id-身份表for _, elem in f2.iterrows():id2identity[elem[0]] = elem[1]data = []# room1-room6 循环六次for i in range(6, 12):# 初始化该房间不同身份的人停留的时间为0this_room = {"waiter": 0, "vip": 0, "reporter": 0, "participant": 0, "meeting": 0}# 构建infosinfos = []for _, elem in f1.iterrows():infos.append([id2identity[int(elem[0])], int(elem[i])])# 遍历infosfor info in infos:this_room[info[0]] += info[1]this_room = [(key, value) for key, value in this_room.items()]data.append(this_room)return data# 绘制room1-room6的饼图
def draw_pie(f1, f2):data = get_data_for_pie(f1, f2)page = Page()for i, this_data in enumerate(data):name = "room" + str(i+1)pie = (Pie().add("停留总时间", this_data).set_global_opts(title_opts=opts.TitleOpts(title=name)).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")))page.add(pie)page.render("pie.html")if __name__ == '__main__':# 读取文件df1 = pd.read_excel("time_allocate_day1.xlsx")df2 = pd.read_excel("classifyday1.xlsx")# task1: 对人员分类 用平行坐标系表示draw_parallel(df1)# task2: 推断每一个房间的类型 饼图draw_pie(df1, df2)

(3)实验细节:
@一个易错点:

@在构造pie的数据时,初始化一个字典,然后遍历更新这个字典就可:

三、实验结果


Room1: 普通参会人员“meeting”占比最多 => 休息区Room2:嘉宾“VIP”占比最多 => 嘉宾休息区
Room3: 普通参会人员“meeting”占比最多 => 休息区
Room4: 记者“reporter”占比最多 => 记者区

Room5: 黑客竞赛参赛者“participant”占比最多 => 黑客竞赛现场

Room6: 场内工作人员“waiter”占比最多 => 工作人员休息区

西电-数据可视化-实验五-高维非空间数据可视化(pyecharts)相关推荐

  1. 数据可视化--实验五:高维非空间数据可视化

    声明:本文CSDN作者原创投稿文章,未经许可禁止任何形式的转载,原文链接 文章目录 概要 实验过程 Pyecharts 实验结果 平行坐标系 room1-6房间人员时长饼图 概要 学院:计算机科学与技 ...

  2. 高维非空间数据可视化

    高维非空间数据可视化 数据变换 降低维度: 使用线性或非线性变换把高维数据投影到低维空间 投影保留重要的关系(无信息损失:保持数据区分等) 方法: 线性方法 主成分分析(PCA) 多维尺度分析(Mul ...

  3. 脑电数据的实验范式及EEGLAB分析预处理

    脑电数据的实验范式及EEGLAB分析预处理 一.脑电数据采集处理过程 1.1 脑电数据采集过程 1.2 实验范式标签说明 二.EEGLAB分析预处理 2.1 导入数据 2.2 选择通道数据,删除无用电 ...

  4. 西电计算机组装实验报告,西电模电实验报告(共7篇).docx

    西电模电实验报告(共7篇) 姓名:学号: 生命科学技术学院实验报告小组成员: 实验名称: 实验报告内容基本要求: 一.实验目的:二.实验材料和仪器设备:三.实验基本原理及步骤:四.实验数据记录和结果分 ...

  5. 西电操作系统上机实验2

    欢迎各位学弟学妹收藏操作系统上机详解,大家有空也可以看看这篇文章哦--西电计科课程学习 实验2:线程共享进程数据 一.实验目的   1.学习创建线程实现多工作同步运行;   2.了解线程与进程之间的数 ...

  6. 西电操作系统上机实验3

    欢迎各位学弟学妹收藏操作系统上机详解,大家有空也可以看看这篇文章哦--西电计科课程学习 实验3:信号通信 一.实验目的   利用信号通信机制在父子进程及兄弟进程间进行通信. 二.实验内容   父进程创 ...

  7. 西电操作系统上机实验4

    欢迎各位学弟学妹收藏操作系统上机详解,大家有空也可以看看这篇文章哦--西电计科课程学习 实验4:匿名管道通信 一.实验目的   学习使用匿名管道在两个进程间建立通信. 二.实验内容   父进程创建一个 ...

  8. 西电操作系统上机实验1

    欢迎各位学弟学妹收藏操作系统上机详解,大家有空也可以看看这篇文章哦--西电计科课程学习. 实验1:创建进程 一.实验目的   学会通过基本的Windows进程控制函数,由父进程创建子进程. 二.实验内 ...

  9. 数据可视化|实验五 分析1996-2015年人口数据各个特征的分布与分散状况

    使用 NumPy 库读取人口数据 使用 numpy 库读取人口数据,分析 1996~2015 年人口数据特征间的关系. %matplotlib inlineimport numpy as npimpo ...

最新文章

  1. pdf格式转换成jpg的简单教程
  2. java 静态 编译_Java中的动态和静态编译实例详解
  3. 济南python工资一般多少钱-马哥教育官网-专业Linux培训班,Python培训机构
  4. pq 中m函数判断嵌套_Python中numpy的布尔判断、切片、维度变化、合并、通用函数...
  5. Python学习笔记6(列表生成式)
  6. poj 1274 The Perfect Stall
  7. python list存储对象_《python解释器源码剖析》第4章--python中的list对象
  8. 深入解读:获得 2021 Forrester 全球云数仓卓越表现者的阿里云数据仓库
  9. labview自动生成html,使用LabVIEW实现网页数据提取及交互.pptx
  10. Spring中事务使用
  11. linux共享文件夹开机自启,ubuntu16.04.6和 18.04添加开机启动脚本,重启后自动挂载vmware的共享文件夹...
  12. 某盘视频网页播放视频修改播放速度代码
  13. Matplotlib——画图(散点图、柱状图、等高线图、3D图)
  14. 群体遗传学习笔记-测序技术学习
  15. 超级好用的在线绘图工具
  16. antd vue 树更新数据后不展开_Vue 性能优化 - 去除 VNode
  17. 系统架构设计应考虑的因素
  18. PowerDesigner16.5反向工程获取Oracle11g数据表结构遇到的问题及解决方法
  19. 计算机控制技术大题,计算机控制技术习题—广州工业大学
  20. Unity动态加载3D模型

热门文章

  1. Yahoo推出Ymail
  2. 路由器、猫、交换机、网关、mac地址
  3. “学而不思则罔,思而不学则殆”在实施工作中的思考
  4. 如何测试端口号是否开启
  5. TiDB Online DDL 在 TiCDC 中的应用丨TiDB 工具分享
  6. 视频监控对接GB/T28181国标平台
  7. 如何提高你的记忆力之二
  8. 洛谷 P2614 计算器弹琴
  9. 【CTF】图片马制作
  10. 鸿蒙系统之铠甲勇士,铠甲勇士刑天异次元形刻玩具灰模公开 高质量完美还原剧中造型...