--- loncom/interface/statistics/lonproblemanalysis.pm 2004/10/29 15:52:32 1.98 +++ loncom/interface/statistics/lonproblemanalysis.pm 2004/10/29 16:10:30 1.99 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonproblemanalysis.pm,v 1.98 2004/10/29 15:52:32 matthew Exp $ +# $Id: lonproblemanalysis.pm,v 1.99 2004/10/29 16:10:30 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -631,14 +631,18 @@ sub RR_concept_plot { sub RR_create_percent_selected_plot { my ($concepts,$foils,$foil_data,$title) = @_; # - my %foil_selections; - my %true; + if ($foil_data->{'_count'} == 0) { return ''; }; + my %correct_selections; + my %incorrect_selections; foreach my $foil (@$foils) { # foil_data has format $foil_data->{true_foil}->{selected foil} next if (! exists($foil_data->{$foil})); - $true{$foil}++; while (my ($f,$count)= each(%{$foil_data->{$foil}})) { - $foil_selections{$f}+=$count; + if ($f eq $foil) { + $correct_selections{$foil} += $count; + } else { + $incorrect_selections{$foil} += $count; + } } } # @@ -647,24 +651,18 @@ sub RR_create_percent_selected_plot { my @correct; my @incorrect; # - my $total =0; + my $total = $foil_data->{'_count'}; for (my $i=0;$i[$i]; - if ($true{$foil}) { - $correct[$i] = $foil_selections{$foil}; - $incorrect[$i] = 0; - } else { - $correct[$i] = 0; - $incorrect[$i] = $foil_selections{$foil}; - } - $total+=$foil_selections{$foil}; + $correct[$i] = $correct_selections{$foil}; + $incorrect[$i] = $incorrect_selections{$foil}; } - if ($total == 0) { return ''; }; for (my $i=0;$i<=$#correct;$i++) { - $correct[$i] = sprintf('%0f',$correct[$i]/$total*100); + &Apache::lonnet::logthis('correct['.$i.']='.$correct[$i]); + $correct[$i] = sprintf('%2f',$correct[$i]/$total*100); } for (my $i=0;$i<=$#incorrect;$i++) { - $incorrect[$i] = sprintf('%0f',$incorrect[$i]/$total*100); + $incorrect[$i] = sprintf('%2f',$incorrect[$i]/$total*100); } # # Put a blank in the data sets between concepts, if there are concepts