[LON-CAPA-cvs] cvs: loncom /cgi graph.gif

minaeibi lon-capa-cvs@mail.lon-capa.org
Mon, 13 May 2002 16:52:12 -0000


minaeibi		Mon May 13 12:52:12 2002 EDT

  Modified files:              
    /loncom/cgi	graph.gif 
  Log:
  Fixed bugs in adapting the both DoDiff and Option Response problems.
  
  
Index: loncom/cgi/graph.gif
diff -u loncom/cgi/graph.gif:1.10 loncom/cgi/graph.gif:1.11
--- loncom/cgi/graph.gif:1.10	Sat Feb  2 06:06:00 2002
+++ loncom/cgi/graph.gif	Mon May 13 12:52:11 2002
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 #
-# $Id: graph.gif,v 1.10 2002/02/02 11:06:00 minaeibi Exp $
+# $Id: graph.gif,v 1.11 2002/05/13 16:52:11 minaeibi Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -29,7 +29,7 @@
 # YEAR=2001
 # 9/13/01, 9/25/01, 10/6/01, 10/9/01, 12/25/01
 # YEAR=2002
-# 2/1/02
+# 2/1/02, 5/13/02, 
 # A CGI script that dynamically outputs a graphical chart for lonstatistics.
 # 
 #### 
@@ -40,48 +40,67 @@
 use GD::Graph::Data;
 
 $|=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;
 for (my $nIdx=0; $nIdx<$PNo; $nIdx++ ) {
     $xlabels[$nIdx]=$nIdx+1;
 } 
-my @data =(\@xlabels,\@data1);
 
-my $Range;
-if ( $PNo > 10 ) {$Range = 30*$PNo;}
-else { $Range = 400+30*$PNo; }
+#my $bg = (defined(@data2)) ? 'lorange' : 'white';
+
+my @data =(\@xlabels,\@data11,\@data12);
 
-if ( $Max > 1 ) { 
-    $Max += (10 - $Max % 10);
-    $Max = int($Max);
+my $Range;
+if ($xlab=~/^Concepts$/){
+    $Range=500;
+} 
+else {
+    if ( $PNo > 10 ) {$Range = 30*$PNo;}
+    else { $Range = 400+30*$PNo; }
 }
-else { $Max = 1; }
+
 
 my $MyGraph = GD::Graph::bars->new($Range, 400);
 
 $MyGraph->set( 
-    x_label         => 'Problems #',
-    y_label         => $Tag,
-    title           => 'LON-CAPA Graphical Chart, Course: '.$cid,
+    x_label         => $xlab,
+    y_label         => $ylab,
+    long_ticks      => 1,
+    tick_length     => 0,
+    x_ticks         => 0,
+#    title           => 'LON-CAPA Option Response Problem:'.$cid,
+    title           => $Titr,
     y_max_value     => $Max,
-    y_tick_number   => 10,
-    y_label_skip    => 1,
-    x_label_skip    => 2,
-    
-    # colors
-    dclrs           => [ qw( green lblue lyellow lpurple cyan lorange)],
+#    y_tick_number   => $ytic,
+    y_label_skip    => 1,   
+
+    dclrs           => [ qw( green dgreen lyellow lpurple cyan lorange)],
     
-    # shadows
-    bar_spacing     => 4,
-    shadow_depth    => 1,
-    shadowclr       => 'dred',
+    bar_spacing     => 10,
+    cumulate        => 2,
+    zero_axis        => 1,
+
+#    legend_placement    => 'RT',
+
+    fgclr               => 'black',
+    boxclr              => 'lorange',
+    accentclr           => 'dblue',
+    valuesclr           => '#ffff77',
+
+    l_margin            => 10,
+    b_margin            => 10,
+    r_margin            => 10,
+    t_margin            => 10,
 
     transparent     => 0,
 ) or warn $MyGraph->error; 
-
+if ($xlab=~/^Concepts$/){
+    $MyGraph->set_legend( 'Correct Answers', 'Incorrect Answers');
+}
 # Tell the server we are sending a gif graphic
 print <<END;
 Content-type: image/gif
@@ -95,4 +114,3 @@
 print IMG $BinaryData; # output image
 $|=1; # be sure to flush before closing
 close IMG;
-