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

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

本文目的

根据一节课的弗兰德斯互动分析观察记录表,以 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

相关文章

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

MySQL中动态生成SQL语句去掉所有字段的空格的操作方法

《MySQL中动态生成SQL语句去掉所有字段的空格的操作方法》在数据库管理过程中,我们常常会遇到需要对表中字段进行清洗和整理的情况,本文将详细介绍如何在MySQL中动态生成SQL语句来去掉所有字段的空... 目录在mysql中动态生成SQL语句去掉所有字段的空格准备工作原理分析动态生成SQL语句在MySQL

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

Go 语言中的select语句详解及工作原理

《Go语言中的select语句详解及工作原理》在Go语言中,select语句是用于处理多个通道(channel)操作的一种控制结构,它类似于switch语句,本文给大家介绍Go语言中的select语... 目录Go 语言中的 select 是做什么的基本功能语法工作原理示例示例 1:监听多个通道示例 2:带

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序