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

matthew lon-capa-cvs@mail.lon-capa.org
Tue, 17 Aug 2004 17:37:56 -0000


matthew		Tue Aug 17 13:37:56 2004 EDT

  Modified files:              
    /loncom/xml	lonplot.pm 
  Log:
  Bug 3316: Gnuplot 4.0 does not handle empty data files well.
  Modified write_gnuplot_file to look at each curve and only include it if it
  has data or a function.
  
  
Index: loncom/xml/lonplot.pm
diff -u loncom/xml/lonplot.pm:1.99 loncom/xml/lonplot.pm:1.100
--- loncom/xml/lonplot.pm:1.99	Mon Jun 28 13:02:27 2004
+++ loncom/xml/lonplot.pm	Tue Aug 17 13:37:56 2004
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Dynamic plot
 #
-# $Id: lonplot.pm,v 1.99 2004/06/28 17:02:27 matthew Exp $
+# $Id: lonplot.pm,v 1.100 2004/08/17 17:37:56 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -954,6 +954,24 @@
     my $gnuplot_input = '';
     my $curve;
     my $pt = $plot{'texfont'};
+    #
+    # Check to be sure we do not have any empty curves
+    my @curvescopy;
+    foreach my $curve (@curves) {
+        if (exists($curve->{'function'})) {
+            if ($curve->{'function'} !~ /^\s*$/) {
+                push(@curvescopy,$curve);
+            }
+        } elsif (exists($curve->{'data'})) {
+            foreach my $data (@{$curve->{'data'}}) {
+                if (scalar(@$data) > 0) {
+                    push(@curvescopy,$curve);
+                    last;
+                }
+            }
+        }
+    }
+    @curves = @curvescopy;
     # Collect all the colors
     my @Colors;
     push @Colors, $plot{'bgcolor'};