声明:本文优快云作者原创投稿文章,未经许可禁止任何形式的转载,原文链接
概要
- 学院:计算机科学与技术学院
- 实验日期:2020-10-15
- 实验目的: 掌握高维非空间数据可视化
- 实验内容:
- 在某次大型会议中,为确保会议过程安全,会场使用了电子胸牌对场内人员的移动轨迹进行了监控。现经过处理,得到了某一天内人员在场内各个区域逗留的时间统计数据(time_allocate_day1.csv)。请根据这份数据,完成以下任务:
- 1、设计可视化方案,要求通过该方案可以实现对人员的分类(分类结果已给出,仅绘制出图像即可)
- 2、请根据上述图像,分析会场中room1~6的功能。
- 在某次大型会议中,为确保会议过程安全,会场使用了电子胸牌对场内人员的移动轨迹进行了监控。现经过处理,得到了某一天内人员在场内各个区域逗留的时间统计数据(time_allocate_day1.csv)。请根据这份数据,完成以下任务:
注:表格文件在我的资源中免费下载。名为“数据可视化实验–表格附件”。链接- 因为即使我设置了不要积分,优快云还是不让免费下载,可以请直接到GitHub下载:GitHub链接
实验过程
本次实验选择编程类工具Pyecharts。
Pyecharts
在Pycharm中新建python项目,并引入pyecharts,openpyxl,datetime等必要包。
创建main.py,写入以下内容。
#!/usr/bin/env python
# coding:utf-8
"""
Name : main.py
Author : F
Time : 2020/10/15 20:09
Desc : 数据可视化实验五
"""
import openpyxl
from pyecharts.charts import HeatMap, Parallel
import pyecharts.globals as globals
from pyecharts import options as opts
from pyecharts.charts import Pie
globals._WarningControl.ShowWarning = False # 关闭pyecharts给出的警告
def getClassifyData():
filename = "classifyday1.xlsx"
ws = openpyxl.load_workbook(filename)['classifyday1']
classifyData = []
for i in range(2, ws.max_row + 1):
row = str(i)
classifyData.append([ws['A' + row].value, ws['B' + row].value])
return classifyData
# 从表格读取数据
def getRoomData():
filename = "time_allocate_day1.xlsx"
ws = openpyxl.load_workbook(filename)['time_allocate_day1']
roomData, roomName = [], []
for room in range(24):
roomName.append(
opts.ParallelAxisOpts(dim=room, name=ws[chr(room + 65) + '1'].value, min_='dataMin', max_='dataMax'))
for i in range(2, ws.max_row + 1):
row, person = str(i), []
for room in range(24):
person.append(ws[chr(room + 65) + row].value)
roomData.append(person)
return roomData, roomName
# 不同人员平行坐标系图
def drawRoomDataParallel():
roomData, roomName = getRoomData()
c = (
Parallel(init_opts=opts.InitOpts(width="2000px", height="1000px")).add_schema(
roomName).add(series_name="人员分类图",
data=roomData,

最低0.47元/天 解锁文章
708





