Diff for /loncom/cgi/graph.png between versions 1.9 and 1.14

version 1.9, 2002/02/01 11:47:34 version 1.14, 2002/08/06 18:10:03
Line 29 Line 29
 # YEAR=2001  # YEAR=2001
 # 9/13/01, 9/25/01, 10/6/01, 10/9/01, 12/25/01  # 9/13/01, 9/25/01, 10/6/01, 10/9/01, 12/25/01
 # YEAR=2002  # YEAR=2002
 # 2/1/02  # 2/1/, 5/13, 5/15
 # A CGI script that dynamically outputs a graphical chart for lonstatistics.  # A CGI script that dynamically outputs a graphical chart for lonstatistics.
 #   # 
 ####   #### 
Line 40  use GD::Graph::colour; Line 40  use GD::Graph::colour;
 use GD::Graph::Data;  use GD::Graph::Data;
   
 $|=1;   # Autoflush after each print/write  $|=1;   # Autoflush after each print/write
 my ($cid, $Tag, $Max, $PNo, $data) = split(/&/,$ENV{'QUERY_STRING'});  my ($Titr,$xlab,$ylab,$Max,$PNo,$data1,$data2)=split(/&/,$ENV{'QUERY_STRING'});
   
   my @data11=split(/\,/,$data1);
   my @data12=split(/\,/,$data2);
   
 my @data1=split(/\,/,$data);  
      
 my @xlabels;  my @xlabels;
 for (my $nIdx=0; $nIdx<$PNo; $nIdx++ ) {  for (my $nIdx=0; $nIdx<$PNo; $nIdx++ ) {
     $xlabels[$nIdx]=$nIdx+1;      $xlabels[$nIdx]=$nIdx+1;
 }   } 
 my @data =(\@xlabels,\@data1);  
   
 my $Range;  
 if ( $PNo > 10 ) {$Range = 30*$PNo;}  
 else { $Range = 400+30*$PNo; }  
   
 $Max += (10 - $Max % 10);  
 $Max = int($Max);  
   
 my $MyGraph = GD::Graph::bars->new($Range, 400);  my @data =(\@xlabels,\@data11,\@data12);
   
   my $Range1;
   my $Range2;
   
   if ($xlab=~/^Concepts$/){
       $Range1=270;
       $Range2=200;
   } else {
       if ( $PNo > 10 ) {
    $Range1 = 20*$PNo;
       } else { 
           $Range1 = 250+30*$PNo; 
     }
       $Range2=200; 
   }
   
   
   my $MyGraph = GD::Graph::bars->new($Range1,$Range2);
   
 $MyGraph->set(   $MyGraph->set( 
     x_label         => 'Problems #',      x_label         => $xlab,
     y_label         => $Tag,      y_label         => $ylab,
     title           => 'LON-CAPA Graphical Chart, Course: '.$cid,      long_ticks      => 1,
       tick_length     => 0,
       x_ticks         => 0,
       title           => $Titr,
     y_max_value     => $Max,      y_max_value     => $Max,
     y_tick_number   => 10,  #    y_tick_number   => $ytic,
     y_label_skip    => 1,      y_label_skip    => 1,   
     x_label_skip    => 2,  
           dclrs           => [ qw( lgreen dgreen lyellow lpurple cyan lorange)],
     # colors  
     dclrs           => [ qw( green lblue lyellow lpurple cyan lorange)],  
           
     # shadows      bar_spacing     => 10,
     bar_spacing     => 4,      cumulate        => 2,
     shadow_depth    => 1,      zero_axis        => 1,
     shadowclr       => 'dred',  
   #    legend_placement    => 'RT',
   
       fgclr               => 'black',
       boxclr              => 'white',
       accentclr           => 'dblue',
       valuesclr           => '#ffff77',
       l_margin            => 10,
       b_margin            => 10,
       r_margin            => 10,
       t_margin            => 10,
   
     transparent     => 0,      transparent     => 0,
 ) or warn $MyGraph->error;   ) or warn $MyGraph->error; 
   
   #if ($xlab=~/^Concepts$/){
   #    $MyGraph->set_legend( 'Correct Answers', 'Incorrect Answers');
   #}
   
   
 # Tell the server we are sending a gif graphic  # Tell the server we are sending a gif graphic
 print <<END;  print <<END;
 Content-type: image/gif  Content-type: image/gif
   
 END  END
   
   #$MyGraph->set_y_label_font('/home/httpd/cgi-bin/cetus.ttf', 16);
   #$MyGraph->set_x_label_font('/home/httpd/cgi-bin/cetus.ttf', 16);
   #$MyGraph->set_y_axis_font('/home/httpd/cgi-bin/cetus.ttf', 12);
   #$MyGraph->set_x_axis_font('/home/httpd/cgi-bin/cetus.ttf', 12);
   #$MyGraph->set_title_font('/home/httpd/cgi-bin/cetus.ttf', 18);
   #$MyGraph->set_legend_font('/home/httpd/cgi-bin/cetus.ttf', 10);
   #$MyGraph->set_values_font('/home/httpd/cgi-bin/cetus.ttf', 10);
   
   
 my $BinaryData=$MyGraph->plot(\@data)->png;  my $BinaryData=$MyGraph->plot(\@data)->png;
 undef $MyGraph;  undef $MyGraph;
 binmode(STDOUT);  binmode(STDOUT);
Line 92  open IMG,"|pngtopnm|ppmtogif 2>/dev/null Line 130  open IMG,"|pngtopnm|ppmtogif 2>/dev/null
 print IMG $BinaryData; # output image  print IMG $BinaryData; # output image
 $|=1; # be sure to flush before closing  $|=1; # be sure to flush before closing
 close IMG;  close IMG;
   

Removed from v.1.9  
changed lines
  Added in v.1.14


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.