Diff for /loncom/interface/statistics/lonpercentage.pm between versions 1.4 and 1.7

version 1.4, 2003/01/08 03:27:54 version 1.7, 2003/01/13 17:31:41
Line 193  sub GraphData { Line 193  sub GraphData {
   
     my %percentages;      my %percentages;
     my $Ptr = '';      my $Ptr = '';
       my $totalProblems = 0;
   
     foreach(@$students) {      foreach(@$students) {
  my $totalCorrect = 0;   my $totalCorrect = 0;
  my $totalProblems = 0;          $totalProblems = 0;
   
  foreach my $sequence (split(':',$cache->{'orderedSequences'})) {   foreach my $sequence (split(':',$cache->{'orderedSequences'})) {
     next if($cache->{$sequence.':title'} ne $sequenceSelected &&      next if($cache->{$sequence.':title'} ne $sequenceSelected &&
Line 221  sub GraphData { Line 222  sub GraphData {
  }   }
     }      }
  }   }
    my $percent;
  my $percent = sprintf("%d", ($totalProblems) ?   if ( $totalProblems >= 100 ) { 
       (($totalCorrect/$totalProblems)*100) : 0);              $percent = sprintf("%d", ($totalProblems) ?
                                 (($totalCorrect/$totalProblems)*100) : 0);
    } else {
       $percent = sprintf("%d", ($totalProblems) ? $totalCorrect : 0);
    }
  if(defined($percentages{$percent})) {   if(defined($percentages{$percent})) {
     $percentages{$percent} .= ':::'.$_;      $percentages{$percent} .= ':::'.$_;
  } else {   } else {
Line 235  sub GraphData { Line 240  sub GraphData {
     my @percentCount = ();      my @percentCount = ();
     my $max = 0;      my $max = 0;
     my $pno = 0;      my $pno = 0;
   
     foreach my $key (sort NumericSort keys(%percentages)) {      foreach my $key (sort NumericSort keys(%percentages)) {
  push(@percent, $key);   push(@percent, $key);
  my @temp = split(':::', $percentages{$key});   my @temp = split(':::', $percentages{$key});
Line 246  sub GraphData { Line 252  sub GraphData {
  $pno++;   $pno++;
     }      }
   
 #     $r->print('<br>max='.$max);      my $cId=0;
 #     $r->print('<br> percentcount='.join(',', @percentCount));      my @data1=();
 #     $r->print('<br> percent='.join(',', @percent));      my @data2=();
       for (my $nIdx=0; $nIdx<$pno; $nIdx++ ) {
     my @GData = ('','Percentage','Number_of_Students',$max,$pno,   $data1[$cId]=$percent[$nIdx];
                  join(',',@percent), join(',', @percentCount));          $data2[$cId]=$percentCount[$nIdx];
    my $cr=$percent[$nIdx+1];
    while ($data1[$cId]<$cr) {
       $cId++;
               $data1[$cId]=$cId;
               $data2[$cId]=0;
           }
       }
   
       my $xlabel;
       my $Freq;
       if ($totalProblems >= 100 ) {
           $xlabel = 'Percentage_of_Problems_Correct';
           $Freq=100;
       } else {
           $xlabel = 'Number_of_Problems_Correct';
           $Freq = $cId;
       }
   
 #    my @GData = ('', 'Percentage', 'Number_of_Students',   #   $r->print('<br>Freq='.$Freq);
 # $max, scalar(@percent),   #   $r->print('<br>max='.$max);
 #                 join(',',@percent), join(',', @percentCount));  #   $r->print('<br> percentcount='.join(',', @percentCount)); 
   #   $r->print('<br> percent='.join(',', @percent));
   #   $r->print('<br> percentcount='.join(',', @data1));
   #   $r->print('<br> percent='.join(',', @data2));
   
       my @GData = ("Percentage",$xlabel,
                    'Number_of_Students',$max,$Freq,
                    join(',',@data1), join(',', @data2));
   
     $Ptr .= '</form>'."\n";      $Ptr .= '</form>'."\n";
     $Ptr .= '<IMG src="/cgi-bin/graph.png?'.(join('&', @GData));      $Ptr .= '<IMG src="/cgi-bin/graph.png?'.(join('&', @GData));

Removed from v.1.4  
changed lines
  Added in v.1.7


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>