--- loncom/xml/lonplot.pm	2016/01/22 22:30:07	1.176
+++ loncom/xml/lonplot.pm	2018/10/24 13:37:43	1.181
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Dynamic plot
 #
-# $Id: lonplot.pm,v 1.176 2016/01/22 22:30:07 damieng Exp $
+# $Id: lonplot.pm,v 1.181 2018/10/24 13:37:43 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -42,7 +42,7 @@ use Apache::lonnet;
 use LONCAPA;
  
 
-use vars qw/$weboutputformat $version/;
+use vars qw/$weboutputformat $version $colorprefix/;
 
 
 
@@ -56,7 +56,10 @@ BEGIN {
     if ($version >= 4) {
         $weboutputformat = 'png';
     }
-    
+    $colorprefix = 'x'; 
+    if ($version > 4.6) {
+        $colorprefix = '#';
+    }
 }
 
 
@@ -186,17 +189,17 @@ my %gnuplot_defaults =
 	 size        => '10'
 	 },
      bgcolor      => {
-	 default     => 'xffffff',
-	 test        => $color_test, 
-	 description => 'Background color of image (xffffff)',
+	 default     => $colorprefix.'ffffff',
+	 test        => $color_test,
+	 description => 'Background color of image ('.$colorprefix.'ffffff)',
 	 edit_type   => 'entry',
 	 size        => '10',
          class       => 'colorchooser'
 	 },
      fgcolor      => {
-	 default     => 'x000000',
+	 default     => $colorprefix.'000000',
 	 test        => $color_test,
-	 description => 'Foreground color of image (x000000)',
+	 description => 'Foreground color of image ('.$colorprefix.'000000)',
 	 edit_type   => 'entry',
 	 size        => '10',
          class       => 'colorchooser'
@@ -367,6 +370,7 @@ my %gnuplot_defaults =
          },
      );
 
+
 my %key_defaults = 
     (
      title => { 
@@ -488,9 +492,9 @@ my @axis_edit_order = ('color','xmin','x
 my %axis_defaults = 
     (
      color   => {
-	 default => 'x000000', 
+	 default => $colorprefix.'000000', 
 	 test => $color_test,
-	 description => 'Color of grid lines (x000000)',
+	 description => 'Color of grid lines ('.$colorprefix.'000000)',
 	 edit_type   => 'entry',
 	 size        => '10',
          class       => 'colorchooser'
@@ -525,14 +529,14 @@ my %axis_defaults =
         },
      xformat      => {
          default     => 'on',
-         test        => sub {$_[0]=~/^(on|off|\d+(f|F|e|E))$/},
+         test        => sub {$_[0]=~/^(on|off|\d+(f|F|e|E|P(|\s*\Q\0317\0200\E)))$/},
          description => 'X-axis number formatting',
          edit_type   => 'choice',
          choices     => ['on', 'off', '2e', '2f'],
          },
      yformat      => {
          default     => 'on',
-         test        => sub {$_[0]=~/^(on|off|\d+(f|F|e|E))$/},
+         test        => sub {$_[0]=~/^(on|off|\d+(f|F|e|E|P(|\s*\Q\0317\0200\E)))$/},
          description => 'Y-axis number formatting',
          edit_type   => 'choice',
          choices     => ['on', 'off', '2e', '2f'],
@@ -564,9 +568,9 @@ my @curve_edit_order = ('color','name','
 my %curve_defaults = 
     (
      color     => {
-	 default => 'x000000',
+	 default => $colorprefix.'000000',
 	 test => $color_test,
-	 description => 'Color of curve (x000000)',
+	 description => 'Color of curve ('.$colorprefix.'000000)',
 	 edit_type   => 'entry',
 	 size        => '10',
 	 class       => 'colorchooser'
@@ -697,13 +701,13 @@ sub start_gnuplot {
 
 	if ($constructtag) {
 	    #
-	    # The color chooser does not prepent x to the color values
+	    # Color chooser does not prepend x (or #) to the color values
 	    # Do that here:
 	    #
 	    foreach my $attribute ('bgcolor', 'fgcolor') {
 		my $value = $token->[2]{$attribute};
-		if (defined $value && !($value =~ /^x/)) {
-		    $token->[2]{$attribute} = 'x' . $value;
+		if (defined $value && ($value !~ /^\Q$colorprefix\E/)) {
+		    $token->[2]{$attribute} = $colorprefix . $value;
 		}
 	    }
 	    $result = &Apache::edit::rebuild_tag($token);
@@ -750,7 +754,7 @@ sub end_gnuplot {
                     "</div>\n";
 
             } else {
-              $result .= "<img $srcatt $widthatt $heightatt $alignatt $altatt>";
+                $result .= "<img $srcatt $widthatt $heightatt $alignatt $altatt>";
             }
         } elsif ($target eq 'tex') {
 	    &Apache::lonxml::debug(" gnuplot wid = $Apache::lonplot::plot{'width'}");
@@ -1497,11 +1501,12 @@ sub start_curve {
 	    ($token,$parstack,$safeeval,keys(%curve_defaults));
 	if ($constructtag) {
 	    #
-	    # Fix up the color attribute as jcolor does not prepend an x
+	    # Fix up the color attribute as jcolor does not prepend an x 
+	    # (or #)
 	    #
 	    my $value = $token->[2]{'color'};
-	    if (defined $value && !($value =~ /^x/)) {
-		$token->[2]{'color'} = 'x' . $value;
+	    if (defined $value && ($value !~ /^\Q$colorprefix\E/)) {
+		$token->[2]{'color'} = $colorprefix . $value;
 	    }
 	    $result = &Apache::edit::rebuild_tag($token);
 	}
@@ -1655,11 +1660,11 @@ sub start_axis {
 	if ($constructtag) {
 	    #
 	    #  Fix up the color attribute since jchooser does not
-	    #  prepend an x to the color:
+	    #  prepend an x (or #) to the color:
 	    #
 	    my $value = $token->[2]{'color'};
-	    if (defined $value && !($value =~ /^x/)) {
-		$token->[2]{'color'} = 'x' . $value;
+	    if (defined $value && ($value !~ /^\Q$colorprefix\E/)) {
+		$token->[2]{'color'} = $colorprefix . $value;
 	    }
 
 	    $result = &Apache::edit::rebuild_tag($token);