本文主要是介绍绘制每分钟的师生语言百分比动态曲线分析图(弗兰德斯),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文目的
根据一节课的弗兰德斯互动分析观察记录表,以 1 分钟为单位对弗兰德斯记录的参数进行分析计算,绘制出教师语言、学生语言的百分比动态曲线分析图
问题拆解
其实步骤很简单,就是
- 从excel文件中读数据
- 算每分钟教师语言和学生语言相对应的比率
- 根据两个比率,在同一个图片中画两条折线图
具体代码如下
# -*- 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()
结果显示
(其他颜色等设定,自己百度哈)
这篇关于绘制每分钟的师生语言百分比动态曲线分析图(弗兰德斯)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!