Diff for /loncom/xml/lonplot.pm between versions 1.117 and 1.118.2.3

version 1.117, 2007/05/23 22:36:28 version 1.118.2.3, 2007/10/09 22:26:54
Line 274  my %gnuplot_defaults = Line 274  my %gnuplot_defaults =
          },           },
      gridtype     => {       gridtype     => {
  default     => 'Cartesian',   default     => 'Cartesian',
  test        => sub {$_[0]=~/^(Polar|Cartesian)$/},   test        => sub {$_[0]=~/^(Polar|Cartesian|Linear-Log|Log-Linear|Log-Log)$/},
  description => 'Grid type:',   description => 'Grid type:',
  edit_type   => 'choice',   edit_type   => 'choice',
          choices     => ['Cartesian','Polar']           choices     => ['Cartesian','Polar','Linear-Log','Log-Linear','Log-Log']
          },           },
      lmargin      => {       lmargin      => {
  default     => 'default',   default     => 'default',
Line 467  my %axis_defaults = Line 467  my %axis_defaults =
  }   }
      );       );
   
 my @curve_edit_order = ('color','name','linestyle','pointtype','pointsize','limit');  my @curve_edit_order = ('color','name','linestyle','linewidth','pointtype','pointsize','limit');
   
 my %curve_defaults =   my %curve_defaults = 
     (      (
Line 492  my %curve_defaults = Line 492  my %curve_defaults =
  edit_type   => 'choice',   edit_type   => 'choice',
  choices     => [keys(%linestyles)]   choices     => [keys(%linestyles)]
  },   },
 # gnuplots term=gif driver does not handle linewidth :(       linewidth => {
 #     linewidth => {           default     => 1,
 #         default     => 1,           test        => $int_test,
 #         test        => $int_test,           description => 'Line width (may not apply to all line styles)',
 #         description => 'Line width (may not apply to all line styles)',           edit_type   => 'choice',
 #         edit_type   => 'choice',           choices     => [1,2,3,4,5,6,7,8,9,10]
 #         choices     => [1,2,3,4,5,6,7,8,9,10]           },
 #         },  
      pointsize => {       pointsize => {
          default     => 1,           default     => 1,
          test        => $pos_real_test,           test        => $pos_real_test,
Line 1123  sub write_gnuplot_file { Line 1122  sub write_gnuplot_file {
     # cartesian or polar grid?      # cartesian or polar grid?
     if (lc($Apache::lonplot::plot{'gridtype'}) eq 'polar') {      if (lc($Apache::lonplot::plot{'gridtype'}) eq 'polar') {
         $gnuplot_input .= 'set grid polar'.$/;          $gnuplot_input .= 'set grid polar'.$/;
       } elsif (lc($Apache::lonplot::plot{'gridtype'}) eq 'linear-log') {
           $gnuplot_input .= 'set logscale x'.$/;
       } elsif (lc($Apache::lonplot::plot{'gridtype'}) eq 'log-linear') {
           $gnuplot_input .= 'set logscale y'.$/;
       } elsif (lc($Apache::lonplot::plot{'gridtype'}) eq 'log-log') {
           $gnuplot_input .= 'set logscale x'.$/;
           $gnuplot_input .= 'set logscale y'.$/;
     } else {      } else {
         # Assume Cartesian          # Assume Cartesian
     }      }
Line 1232  sub write_gnuplot_file { Line 1238  sub write_gnuplot_file {
     for (my $i = 0;$i<=$#curves;$i++) {      for (my $i = 0;$i<=$#curves;$i++) {
  $curve = $curves[$i];   $curve = $curves[$i];
  $gnuplot_input.= ', ' if ($i > 0);   $gnuplot_input.= ', ' if ($i > 0);
    if ($target eq 'tex') {
       $curve->{'linewidth'} *= 2;
    }
  if (exists($curve->{'function'})) {   if (exists($curve->{'function'})) {
     $gnuplot_input.=       $gnuplot_input.= 
  $curve->{'function'}.' title "'.   $curve->{'function'}.' title "'.
  $curve->{'name'}.'" with '.   $curve->{'name'}.'" with '.
                 $curve->{'linestyle'};                  $curve->{'linestyle'};
             $gnuplot_input.= ' linewidth 4 ' if ($target eq 'tex');  
             if (($curve->{'linestyle'} eq 'points')      ||              if (($curve->{'linestyle'} eq 'points')      ||
                 ($curve->{'linestyle'} eq 'linespoints') ||                  ($curve->{'linestyle'} eq 'linespoints') ||
                 ($curve->{'linestyle'} eq 'errorbars')   ||                  ($curve->{'linestyle'} eq 'errorbars')   ||
Line 1249  sub write_gnuplot_file { Line 1258  sub write_gnuplot_file {
             } elsif ($curve->{'linestyle'} eq 'filledcurves') {               } elsif ($curve->{'linestyle'} eq 'filledcurves') { 
                 $gnuplot_input.= ' '.$curve->{'limit'};                  $gnuplot_input.= ' '.$curve->{'limit'};
             }              }
               $gnuplot_input.= ' linewidth '.$curve->{'linewidth'};
   
  } elsif (exists($curve->{'data'})) {   } elsif (exists($curve->{'data'})) {
     # Store data values in $datatext      # Store data values in $datatext
     my $datatext = '';      my $datatext = '';
Line 1272  sub write_gnuplot_file { Line 1283  sub write_gnuplot_file {
     $gnuplot_input.= '"'.$datafilename.'" title "'.      $gnuplot_input.= '"'.$datafilename.'" title "'.
  $curve->{'name'}.'" with '.   $curve->{'name'}.'" with '.
  $curve->{'linestyle'};   $curve->{'linestyle'};
             $gnuplot_input.= ' linewidth 4 ' if ($target eq 'tex');  
             if (($curve->{'linestyle'} eq 'points')      ||              if (($curve->{'linestyle'} eq 'points')      ||
                 ($curve->{'linestyle'} eq 'linespoints') ||                  ($curve->{'linestyle'} eq 'linespoints') ||
                 ($curve->{'linestyle'} eq 'errorbars')   ||                  ($curve->{'linestyle'} eq 'errorbars')   ||
Line 1284  sub write_gnuplot_file { Line 1294  sub write_gnuplot_file {
             } elsif ($curve->{'linestyle'} eq 'filledcurves') {               } elsif ($curve->{'linestyle'} eq 'filledcurves') { 
                 $gnuplot_input.= ' '.$curve->{'limit'};                  $gnuplot_input.= ' '.$curve->{'limit'};
             }              }
               $gnuplot_input.= ' linewidth '.$curve->{'linewidth'};
  }   }
     }      }
     # Write the output to a file.      # Write the output to a file.

Removed from v.1.117  
changed lines
  Added in v.1.118.2.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>