[LON-CAPA-cvs] cvs: loncom /xml lonplot.pm

matthew lon-capa-cvs@mail.lon-capa.org
Fri, 22 Mar 2002 15:43:42 -0000


matthew		Fri Mar 22 10:43:42 2002 EDT

  Modified files:              
    /loncom/xml	lonplot.pm 
  Log:
  Now provide access to gnuplots 'pointsize' setting routines.  I tried to 
  add linewidth as well, but the gif driver does not support this option.
  
  
Index: loncom/xml/lonplot.pm
diff -u loncom/xml/lonplot.pm:1.59 loncom/xml/lonplot.pm:1.60
--- loncom/xml/lonplot.pm:1.59	Fri Mar 22 09:48:00 2002
+++ loncom/xml/lonplot.pm	Fri Mar 22 10:43:42 2002
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Dynamic plot
 #
-# $Id: lonplot.pm,v 1.59 2002/03/22 14:48:00 matthew Exp $
+# $Id: lonplot.pm,v 1.60 2002/03/22 15:43:42 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -91,10 +91,6 @@
      yerrorbars	    => [3,4],
      xyerrorbars    => [4,6],
      boxes          => 3,
-#     boxerrorbars   => [3,4,5],
-#     boxxyerrorbars => [4,6,7],
-#     financebars    => 5,
-#     candlesticks   => 5,
      vector	    => 4
     );		    
 
@@ -371,6 +367,8 @@
 </dl>
 ENDCURVEHELP
 
+my @curve_edit_order = ('color','name','linestyle','pointsize');
+
 my %curve_defaults = 
     (
      color     => {
@@ -393,7 +391,22 @@
 	 description => 'Line style',
 	 edit_type   => 'choice',
 	 choices     => [keys(%linestyles)]
-	 }
+	 },
+# gnuplots term=gif driver does not handle linewidth :(
+#     linewidth => {
+#         default     => 1,
+#         test        => $int_test,
+#         description => 'Line width (may not apply to all line styles)',
+#         edit_type   => 'choice',
+#         choices     => [1,2,3,4,5,6,7,8,9,10]
+#         },
+     pointsize => {
+         default     => 1,
+         test        => $int_test,
+         description => 'point size (may not apply to all line styles)',
+         edit_type   => 'choice',
+         choices     => [0,1,2,3,4,5,6,7,8,9,10]
+         }
      );
 
 ###################################################################
@@ -731,7 +744,8 @@
     } elsif ($target eq 'edit') {
 	$result .= &Apache::edit::tag_start($target,$token,'Curve');
 	$result .= &help_win($curve_help_text);
-	$result .= &edit_attributes($target,$token,\%curve_defaults);
+	$result .= &edit_attributes($target,$token,\%curve_defaults,
+                                    \@curve_edit_order);
     } elsif ($target eq 'modified') {
 	my $constructtag=&Apache::edit::get_new_args
 	    ($token,$parstack,$safeeval,keys(%curve_defaults));
@@ -1018,6 +1032,18 @@
 		$curve->{'function'}.' title "'.
 		$curve->{'name'}.'" with '.
 		$curve->{'linestyle'};
+#
+# gnuplot's term=gif driver does not handle linewidths :(
+# . ' linewidth '. $curve->{'linewidth'};
+#
+            if (($curve->{'linestyle'} eq 'points')      ||
+                ($curve->{'linestyle'} eq 'linespoints') ||
+                ($curve->{'linestyle'} eq 'errorbars')   ||
+                ($curve->{'linestyle'} eq 'xerrorbars')  ||
+                ($curve->{'linestyle'} eq 'yerrorbars')  ||
+                ($curve->{'linestyle'} eq 'xyerrorbars')) {
+                $gnuplot_input.=' pointsize '.$curve->{'pointsize'};
+            }
 	} elsif (exists($curve->{'data'})) {
 	    # Store data values in $datatext
 	    my $datatext = '';