Diff for /loncom/interface/statistics/lonproblemanalysis.pm between versions 1.142.2.2 and 1.142.2.4

version 1.142.2.2, 2012/12/17 03:52:30 version 1.142.2.4, 2014/02/27 03:11:14
Line 398  sub numerical_plot_percent { Line 398  sub numerical_plot_percent {
         if ($max <$_) { $max = $_; last; }          if ($max <$_) { $max = $_; last; }
     }      }
     #      #
     my $title = &mt('Percent Difference');      my %lt = &Apache::lonlocal::texthash(
                    'title'  => 'Percent Difference',
                    'xlabel' => 'Percent Difference from Correct',
                    'ylabel' => 'Percent of Answers');
     my @labels = (1..scalar(@bins)-1);      my @labels = (1..scalar(@bins)-1);
     my $graph = &Apache::loncommon::DrawBarGraph      my $graph = &Apache::loncommon::DrawBarGraph
         ($title,'Percent Difference from Correct','Percent of Answers',          ($lt{'title'},$lt{'xlabel'},$lt{'ylabel'},
          $max,['#33FF00','#FF3300'],\@labels,\@plot_correct,\@plot_incorrect,           $max,['#33FF00','#FF3300'],\@labels,\@plot_correct,\@plot_incorrect,
          {xskip=>1});           {xskip=>1});
     #      #
Line 471  sub numerical_plot_differences { Line 474  sub numerical_plot_differences {
         if ($max <$_) { $max = $_; last; }          if ($max <$_) { $max = $_; last; }
     }      }
     #      #
     my $title = &mt('Difference between submission and correct');      my %lt = &Apache::lonlocal::texthash(
                    'title'  => 'Difference between submission and correct',
                    'xlabel' => 'Difference from Correct',
                    'ylabel' => 'Percent of Answers');
     my @labels = (1..scalar(@bins)-1);      my @labels = (1..scalar(@bins)-1);
     my $graph = &Apache::loncommon::DrawBarGraph      my $graph = &Apache::loncommon::DrawBarGraph
         ($title,'Difference from Correct','Percent of Answers',          ($lt{'title'},$lt{'xlabel'},$lt{'ylabel'},
          $max,['#33FF00','#FF3300'],\@labels,\@plot_correct,\@plot_incorrect,           $max,['#33FF00','#FF3300'],\@labels,\@plot_correct,\@plot_incorrect,
          {xskip=>1});           {xskip=>1});
     #      #
Line 856  sub radio_response_analysis { Line 862  sub radio_response_analysis {
             $no_data_text,@extra_data);              $no_data_text,@extra_data);
         if ($env{'form.AnalyzeOver'} eq 'tries') {          if ($env{'form.AnalyzeOver'} eq 'tries') {
             $restriction_function = sub {($_[0]->{'tries'} == $plot_num?1:0)};              $restriction_function = sub {($_[0]->{'tries'} == $plot_num?1:0)};
             $correct_foil_title = 'Attempt '.$plot_num;              $correct_foil_title = &mt('Attempt [_1]',$plot_num);
             $incorrect_foil_title = 'Attempt '.$plot_num;              $incorrect_foil_title = &mt('Attempt [_1]',$plot_num);
             $pre_graph_text =               $pre_graph_text = 
                 'Attempt [_1], [_2] submissions, [_3] correct, [_4] incorrect';                  'Attempt [_1], [_2] submissions, [_3] correct, [_4] incorrect';
             $post_graph_text = '';              $post_graph_text = '';
Line 915  sub radio_response_analysis { Line 921  sub radio_response_analysis {
         # Concept Plot          # Concept Plot
         my $concept_plot = '';          my $concept_plot = '';
         if (scalar(@$concepts) > 1) {          if (scalar(@$concepts) > 1) {
               my $title = &mt('Correct Concepts');
             $concept_plot = &RR_concept_plot($concepts,$foil_choice_data,              $concept_plot = &RR_concept_plot($concepts,$foil_choice_data,
                                              'Correct Concepts');                                               $title);
         }          }
         # % Choosing plot          # % Choosing plot
         my $choice_plot = &RR_create_percent_selected_plot          my $choice_plot = &RR_create_percent_selected_plot
Line 1031  sub RR_concept_plot { Line 1038  sub RR_concept_plot {
     for (my $i=0;$i<=$#correct;$i++) {       for (my $i=0;$i<=$#correct;$i++) { 
         $correct[$i] = sprintf('%0f',$correct[$i]/$total*100);          $correct[$i] = sprintf('%0f',$correct[$i]/$total*100);
     }      }
     my $xlabel = 'concept';      my $xlabel = &mt('concept');
       my $ylabel = &mt('Percent Choosing');
     my $plot=  &Apache::loncommon::DrawBarGraph($title,      my $plot=  &Apache::loncommon::DrawBarGraph($title,
                                                 $xlabel,                                                  $xlabel,
                                                 'Percent Choosing',                                                  $ylabel,
                                                 100,                                                  100,
                                                 ['#33ff00','#ff3300'],                                                  ['#33ff00','#ff3300'],
                                                 undef,                                                  undef,
Line 1100  sub RR_create_percent_selected_plot { Line 1108  sub RR_create_percent_selected_plot {
         @labels = (1 .. scalar(@correct));          @labels = (1 .. scalar(@correct));
     }      }
     #      #
     my $xlabel = 'foil chosen';      my $xlabel = &mt('foil chosen');
       my $ylabel = &mt('Percent Choosing');
     my $plot=  &Apache::loncommon::DrawBarGraph($title,      my $plot=  &Apache::loncommon::DrawBarGraph($title,
                                                 $xlabel,                                                  $xlabel,
                                                 'Percent Choosing',                                                  $ylabel,
                                                 100,                                                  100,
                                                 ['#33ff00','#ff3300'],                                                  ['#33ff00','#ff3300'],
                                                 \@labels,                                                  \@labels,
Line 1164  sub RR_create_stacked_selection_plot { Line 1173  sub RR_create_stacked_selection_plot {
         push(@empty_row,0);          push(@empty_row,0);
     }      }
     #      #
       my $xlabel = &mt('Correct Foil');
       my $ylabel = &mt('foils chosen Incorrectly');
     my $graph = &Apache::loncommon::DrawBarGraph      my $graph = &Apache::loncommon::DrawBarGraph
         ($title,'Correct Foil','foils chosen Incorrectly',          ($title,$xlabel,$ylabel,
          100,$plotcolors,\@labels,\@empty_row,@dataset);           100,$plotcolors,\@labels,\@empty_row,@dataset);
     return ($graph,\%count_per_foil);      return ($graph,\%count_per_foil);
 }  }
Line 1249  sub OptionResponseAnalysis { Line 1260  sub OptionResponseAnalysis {
             $r->print($analysis_html);              $r->print($analysis_html);
             $r->rflush();              $r->rflush();
         } else {          } else {
             $r->print('div class="LC_warning"'              $r->print('<div class="LC_warning"'
                      .&mt('The analysis you have selected is not supported at this time.')                       .&mt('The analysis you have selected is not supported at this time.')
                      .'</div>'                       .'</div>'
             );              );
Line 1361  sub OR_tries_analysis { Line 1372  sub OR_tries_analysis {
                 }                  }
             }              }
             #              #
               my %lt = &Apache::lonlocal::texthash(
                            'title'  => 'Correct Concepts',
                            'xlabel' => 'Concept Number',
                            'ylabel' => 'Percent Correct');
             $concept_graph = &Apache::loncommon::DrawBarGraph              $concept_graph = &Apache::loncommon::DrawBarGraph
                 ('Correct Concepts','Concept Number','Percent Correct',                  ($lt{'title'},$lt{'xlabel'},$lt{'ylabel'},
                  100,$plotcolors,undef,\@concept_plot_data,{xskip=>1});                   100,$plotcolors,undef,\@concept_plot_data,{xskip=>1});
         }          }
         #          #
Line 1400  sub OR_tries_analysis { Line 1415  sub OR_tries_analysis {
             push(@Labels,'');              push(@Labels,'');
         }          }
         #          #
          my %lt = &Apache::lonlocal::texthash(
                       'title'  => 'Correct Statements',
                       'xlabel' => 'Statement',
                       'ylabel' => '% Answered Correct');
         my $correct_graph = &Apache::loncommon::DrawBarGraph          my $correct_graph = &Apache::loncommon::DrawBarGraph
             ('Correct Statements','Statement','% Answered Correct',              ($lt{'title'},$lt{'xlabel'},$lt{'ylabel'},
              100,$plotcolors,\@Labels,$Datasets[0],{xskip=>1});               100,$plotcolors,\@Labels,$Datasets[0],{xskip=>1});
                   
         #          #
Line 1412  sub OR_tries_analysis { Line 1431  sub OR_tries_analysis {
         }          }
         my $count = $response_data{'_total'}->[$try] -           my $count = $response_data{'_total'}->[$try] - 
                                            $response_data{'_correct'}->[$try];                                             $response_data{'_correct'}->[$try];
           %lt = &Apache::lonlocal::texthash(
                     'title'  => 'Incorrect Statements',
                     'xlabel' => 'Statement',
                     'ylabel' => '% Chosen Incorrectly');
         my $incorrect_graph = &Apache::loncommon::DrawBarGraph          my $incorrect_graph = &Apache::loncommon::DrawBarGraph
             ('Incorrect Statements','Statement','% Chosen Incorrectly',              ($lt{'title'},$lt{'xlabel'},$lt{'ylabel'},
              100,$plotcolors,\@Labels,@Datasets,{xskip=>1});               100,$plotcolors,\@Labels,@Datasets,{xskip=>1});
         $analysis_html.=           $analysis_html.= 
             '<tr><td colspan="4" align="center">'.              '<tr><td colspan="4" align="center">'.
Line 1475  sub OR_time_analysis { Line 1498  sub OR_time_analysis {
     if (defined($Concepts)) { $num_concepts = scalar(@$Concepts); }      if (defined($Concepts)) { $num_concepts = scalar(@$Concepts); }
     #      #
     if ($num_concepts < 2) {      if ($num_concepts < 2) {
         $table = '<h3>'.          $table = '<p class="LC_info">'.
                  &mt('Not enough data for concept analysis.').' '.                   &mt('Not enough data for concept analysis.'.
                  &mt('Performing Foil Analysis').                       ' Performing Foil Analysis instead.').
                  '</h3>'.$table;                   '</p>'.
                    $table;
     }      }
     #      #
     my $num_plots = $env{'form.NumPlots'};      my $num_plots = $env{'form.NumPlots'};
Line 1535  sub OR_time_analysis { Line 1559  sub OR_time_analysis {
         $correct |= 0;          $correct |= 0;
         ##          ##
         $table .= '<tr><td colspan="4" align="center"><font size="+1">'.          $table .= '<tr><td colspan="4" align="center"><font size="+1">'.
             &mt('[_1] submissions from [_2] students, [_3] correct, [_4] incorrect',              &mt('[quant,_1,submission,submissions,No submissions] from [quant,_2,student], [_3] correct, [_4] incorrect',
                 $data_count,$student_count,$correct,$data_count-$correct).                  $data_count,$student_count,$correct,$data_count-$correct).
                 '</font></td></tr>'.$/;                  '</font></td></tr>'.$/;
         my $concept_correct_plot = '';          my $concept_correct_plot = '';
Line 1607  sub OR_Foil_Time_Analysis { Line 1631  sub OR_Foil_Time_Analysis {
     }      }
     #      #
     # Create the plot      # Create the plot
     my $correct_plot = &Apache::loncommon::DrawBarGraph('Correct Statements',      my %lt = &Apache::lonlocal::texthash(
                                                         'Statement Number',                   'title'  => 'Correct Statements',
                                                         'Percent Correct',                   'xlabel' => 'Statement Number',
                    'ylabel' => 'Percent Correct');
       my $correct_plot = &Apache::loncommon::DrawBarGraph($lt{'title'},
                                                           $lt{'xlabel'},
                                                           $lt{'ylabel'},
                                                         100,                                                          100,
                                                         $plotcolors,                                                          $plotcolors,
                                                         undef,                                                          undef,
Line 1618  sub OR_Foil_Time_Analysis { Line 1646  sub OR_Foil_Time_Analysis {
     for (my $j=0; $j< scalar(@{$plotdata[0]});$j++) {      for (my $j=0; $j< scalar(@{$plotdata[0]});$j++) {
         $plotdata[0]->[$j]=0;          $plotdata[0]->[$j]=0;
     }      }
       %lt = &Apache::lonlocal::texthash(
                 'title'  => 'Incorrect Statements',
                 'xlabel' => 'Statement Number',
                 'ylabel' => 'Incorrect Option Choice');
     my $incorrect_plot =       my $incorrect_plot = 
         &Apache::loncommon::DrawBarGraph('Incorrect Statements',          &Apache::loncommon::DrawBarGraph($lt{'title'},
                                          'Statement Number',                                           $lt{'xlabel'},
                                          'Incorrect Option Choice',                                           $lt{'ylabel'},
                                          100,                                           100,
                                          $plotcolors,                                           $plotcolors,
                                          undef,                                           undef,
Line 1650  sub OR_Concept_Time_Analysis { Line 1682  sub OR_Concept_Time_Analysis {
     }      }
     #      #
     # Create the plot      # Create the plot
     return &Apache::loncommon::DrawBarGraph('Correct Concepts',      my %lt = &Apache::lonlocal::texthash(
                                             'Concept Number',                   'title'  => 'Correct Concepts',
                                             'Percent Correct',                   'xlabel' => 'Concept Number',
                    'ylabel' => 'Percent Correct');
       return &Apache::loncommon::DrawBarGraph($lt{'title'},
                                               $lt{'xlabel'},
                                               $lt{'ylabel'},
                                             100,                                              100,
                                             $plotcolors,                                              $plotcolors,
                                             undef,                                              undef,
Line 1911  sub CreateInterface { Line 1947  sub CreateInterface {
         $showprob_checkbox.' '.&mt('Show problem').          $showprob_checkbox.' '.&mt('Show problem').
         '</label></span><br />';          '</label></span><br />';
     ##      ##
     my $analyze_selector = '<select name="AnalyzeOver" >';      my $analyze_selector = '<select name="AnalyzeOver">';
     $analyze_selector .= '<option value="tries" ';      $analyze_selector .= '<option value="tries"';
     if (! exists($env{'form.AnalyzeOver'}) ||       if (! exists($env{'form.AnalyzeOver'}) || 
         $env{'form.AnalyzeOver'} eq 'tries'){          $env{'form.AnalyzeOver'} eq 'tries'){
         # Default to tries          # Default to tries
         $analyze_selector .= ' selected="selected" ';          $analyze_selector .= ' selected="selected"';
     }      }
     $analyze_selector .= '>'.&mt('Tries').'</option>';      $analyze_selector .= '>'.&mt('Tries').'</option>';
     $analyze_selector .= '<option value="time" ';      $analyze_selector .= '<option value="time"';
     $analyze_selector .= ' selected ' if ($env{'form.AnalyzeOver'} eq 'time');      $analyze_selector .= ' selected="selected"' if ($env{'form.AnalyzeOver'} eq 'time');
     $analyze_selector .= '>'.&mt('Time').'</option>';      $analyze_selector .= '>'.&mt('Time').'</option>';
     $analyze_selector .= '</select>';      $analyze_selector .= '</select>';
     $Str .= '<span class="LC_nobreak"><label>'.      $Str .= '<span class="LC_nobreak"><label>'.

Removed from v.1.142.2.2  
changed lines
  Added in v.1.142.2.4


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