--- loncom/interface/statistics/lonsubmissiontimeanalysis.pm 2003/12/10 23:06:57 1.5
+++ loncom/interface/statistics/lonsubmissiontimeanalysis.pm 2004/01/08 19:20:12 1.9
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: lonsubmissiontimeanalysis.pm,v 1.5 2003/12/10 23:06:57 matthew Exp $
+# $Id: lonsubmissiontimeanalysis.pm,v 1.9 2004/01/08 19:20:12 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -171,12 +171,12 @@ sub analyze_times {
my $SubData = &Apache::loncoursedata::get_response_time_data
($students,$resource->{'symb'},$part);
if (! defined($SubData) || ! ref($SubData)) {
- $html.= '
There is no submission data for this resource
';
+ $html.= 'There is no submission data for this problem
';
return $html;
}
my $NumSub = scalar(@{$SubData});
if (! @{$SubData}) {
- $html.= 'There is no submission data for this resource
';
+ $html.= 'There is no submission data for this problem
';
return $html;
}
# Process the data
@@ -241,7 +241,10 @@ sub analyze_times {
$Xlabel[$bincount] = '';
}
}
-
+ my $numstudents = scalar(@$students);
+ for (my $i=0;$i<=$#AnsData;$i++) {
+ $AnsData[$i] = int(100*($AnsData[$i]/$numstudents));
+ }
my $title = 'Number of Submissions and Number Correct';
my $xlabel;
(undef,undef,undef,$mday,$month,$year,$wday) = localtime($day_start);
@@ -250,19 +253,28 @@ sub analyze_times {
(undef,undef,undef,$mday,$month,$year,$wday) = localtime($endtime);
$xlabel .= $FullWeekDay[$wday].' '.
join(' ',($Month[$month],$mday,1900+$year));
+ my $width = 50+2*$bincount;
+ if ($width < 250) {
+ $width = 250;
+ }
$html .= &Apache::loncommon::DrawXYYGraph($title,
$xlabel,
- 'Number of Submissions per hour',
+ 'Submissions vs Time',
$plotcolors,
\@Xlabel,
\@Ydata,
0,$max,
\@AnsData,
- 0,scalar(@$students),
+ 0,100,
(xskip => $bins_per_day,
x_ticks => $bins_per_day,
x_tick_offset => $bins_per_day,
- width => 50+2*$bincount)
+ width => $width,
+ y1_label=>'Number of Submissions per hour',
+ y2_label=>'Percent of Students answering Correctly',
+ 'data.1.label'=>'Submissions per hour',
+ 'data.2.label'=>'Percent correct',
+ )
);
$html .= '
';
return $html;