绘制每分钟的师生语言百分比动态曲线分析图(弗兰德斯)

本文主要是介绍绘制每分钟的师生语言百分比动态曲线分析图(弗兰德斯),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文目的

根据一节课的弗兰德斯互动分析观察记录表,以 1 分钟为单位对弗兰德斯记录的参数进行分析计算,绘制出教师语言、学生语言的百分比动态曲线分析图

问题拆解

其实步骤很简单,就是

  1. 从excel文件中读数据
  2. 算每分钟教师语言和学生语言相对应的比率
  3. 根据两个比率,在同一个图片中画两条折线图

具体代码如下

# -*- coding: utf-8 -*-
"""
以 1 分钟为单位对弗兰德斯记录的参数进行分析计算,
绘制出教师语言、学生语言的百分比动态曲线分析图
"""
import openpyxl   
import numpy as np
import matplotlib
from matplotlib import pyplot as plt
###设置中文显示
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['axes.unicode_minus'] = False#######第一步,读取xlsx文件中的标注数据
wb=openpyxl.load_workbook("xxx.xlsx")
ws=wb.active
lamda=ws['B2:U41']
a=np.zeros((40,20))
for i in range(40):for j in range(20):a[i][j]=lamda[i][j].value#######第二步,计算每个1分钟的师生语言比率
te_li=list()
st_li=list()for i in range(40):t=s=c=0for j in range(20):if a[i][j]<=7:t+=1elif 7<a[i][j]<=10:s+=1c=20st_li.append(s/c)te_li.append(t/c)#######第三步,画图
x=[i+1 for i in range(40)]
y=[0.5 for i in range(40)]
plt.figure()
plt.plot(x,st_li,'*:r',label='学生语言比率')
plt.plot(x,te_li,'*:b',label='教师语言比率')
plt.plot(x,y,'k')
plt.xlabel('课程时间')
plt.ylabel('师生语言占比')
plt.title('曲线分析')
plt.ylim([0,1])
plt.legend()
plt.show()

结果显示

(其他颜色等设定,自己百度哈) 

这篇关于绘制每分钟的师生语言百分比动态曲线分析图(弗兰德斯)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/819152

相关文章

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

Go语言使用sync.Mutex实现资源加锁

《Go语言使用sync.Mutex实现资源加锁》数据共享是一把双刃剑,Go语言为我们提供了sync.Mutex,一种最基础也是最常用的加锁方式,用于保证在任意时刻只有一个goroutine能访问共享... 目录一、什么是 Mutex二、为什么需要加锁三、实战案例:并发安全的计数器1. 未加锁示例(存在竞态)

C语言自定义类型之联合和枚举解读

《C语言自定义类型之联合和枚举解读》联合体共享内存,大小由最大成员决定,遵循对齐规则;枚举类型列举可能值,提升可读性和类型安全性,两者在C语言中用于优化内存和程序效率... 目录一、联合体1.1 联合体类型的声明1.2 联合体的特点1.2.1 特点11.2.2 特点21.2.3 特点31.3 联合体的大小1