Diff for /loncom/xml/lonplot.pm between versions 1.109 and 1.110

version 1.109, 2005/06/07 22:30:42 version 1.110, 2005/06/09 02:16:04
Line 102  my %linestyles = Line 102  my %linestyles =
      yerrorbars    => [3,4],       yerrorbars    => [3,4],
      xyerrorbars    => [4,6],       xyerrorbars    => [4,6],
      boxes          => 3,       boxes          => 3,
        filledcurves   => 2,
      vector    => 4       vector    => 4
     );          );    
   
Line 125  my $words_test     = sub {$_[0]=~s/\s+/ Line 126  my $words_test     = sub {$_[0]=~s/\s+/
 my @gnuplot_edit_order =   my @gnuplot_edit_order = 
     qw/alttag bgcolor fgcolor height width font transparent grid samples       qw/alttag bgcolor fgcolor height width font transparent grid samples 
     border align texwidth texfont plotcolor plottype lmargin rmargin tmargin      border align texwidth texfont plotcolor plottype lmargin rmargin tmargin
     bmargin major_ticscale minor_ticscale/;      bmargin major_ticscale minor_ticscale boxwidth gridlayer fillstyle
       pattern solid/;
   
 my $margin_choices = ['default',0..20];  my $margin_choices = ['default',0..20];
   
Line 178  my %gnuplot_defaults = Line 180  my %gnuplot_defaults =
  description => 'Display grid',   description => 'Display grid',
  edit_type   => 'onoff'   edit_type   => 'onoff'
  },   },
        gridlayer    => {
    default     => 'off',
    test        => $onoff_test, 
    description => 'Display grid front layer over filled boxes or filled curves',
    edit_type   => 'onoff'
    },
        box_border   => {
    default     => 'noborder',
    test        => sub {$_[0]=~/^(noborder|border)$/},
    description => 'Draw border for boxes',
    edit_type   => 'choice',
    choices     => ['border','noborder']
    },
      border       => {       border       => {
  default     => 'on',   default     => 'on',
  test        => $onoff_test,    test        => $onoff_test, 
Line 191  my %gnuplot_defaults = Line 206  my %gnuplot_defaults =
  edit_type   => 'choice',   edit_type   => 'choice',
  choices     => ['small','medium','large']   choices     => ['small','medium','large']
  },   },
      samples         => {       samples      => {
  default     => '100',   default     => '100',
  test        => $int_test,   test        => $int_test,
  description => 'Number of samples for non-data plots',   description => 'Number of samples for non-data plots',
Line 212  my %gnuplot_defaults = Line 227  my %gnuplot_defaults =
          edit_type   => 'entry',           edit_type   => 'entry',
          size        => '5'           size        => '5'
          },           },
      texfont     => {       texfont      => {
          default     => '22',           default     => '22',
          test        => $int_test,           test        => $int_test,
          description => 'Font size to use in TeX output (pts):',           description => 'Font size to use in TeX output (pts):',
          edit_type   => 'choice',           edit_type   => 'choice',
          choices     => [qw/8 10 12 14 16 18 20 22 24 26 28 30 32 34 36/],           choices     => [qw/8 10 12 14 16 18 20 22 24 26 28 30 32 34 36/],
          },           },
      plotcolor   => {       plotcolor    => {
          default     => 'monochrome',           default     => 'monochrome',
          test        => sub {$_[0]=~/^(monochrome|color|colour)$/},           test        => sub {$_[0]=~/^(monochrome|color|colour)$/},
          description => 'Color setting for printing:',           description => 'Color setting for printing:',
          edit_type   => 'choice',           edit_type   => 'choice',
          choices     => [qw/monochrome color colour/],           choices     => [qw/monochrome color colour/],
          },           },
      plottype  => {       pattern      => {
    default     => '',
    test        => $int_test,
    description => 'pattern value for boxes:',
    edit_type   => 'choice',
            choices     => [0,1,2,3,4,5,6]
            },
        solid        => {
            default     => 0,
            test        => $real_test,
            description => 'The density of fill style for boxes',
            edit_type   => 'entry',
            size        => '5'
            },
        fillstyle    => {
    default     => 'empty',
    test        => sub {$_[0]=~/^(empty|solid|pattern)$/},
    description => 'Filled style for boxes:',
    edit_type   => 'choice',
            choices     => ['empty','solid','pattern']
            },
        plottype     => {
  default     => 'Cartesian',   default     => 'Cartesian',
  test        => sub {$_[0]=~/^(Polar|Cartesian)$/},   test        => sub {$_[0]=~/^(Polar|Cartesian)$/},
  description => 'Plot type:',   description => 'Plot type:',
  edit_type   => 'choice',   edit_type   => 'choice',
          choices     => ['Cartesian','Polar']           choices     => ['Cartesian','Polar']
          },           },
      lmargin   => {       lmargin      => {
  default     => 'default',   default     => 'default',
  test        => sub {$_[0]=~/^(default|\d+)$/},   test        => sub {$_[0]=~/^(default|\d+)$/},
  description => 'Left margin width (pts):',   description => 'Left margin width (pts):',
  edit_type   => 'choice',   edit_type   => 'choice',
          choices     => $margin_choices,           choices     => $margin_choices,
          },           },
      rmargin   => {       rmargin      => {
  default     => 'default',   default     => 'default',
  test        => sub {$_[0]=~/^(default|\d+)$/},   test        => sub {$_[0]=~/^(default|\d+)$/},
  description => 'Right margin width (pts):',   description => 'Right margin width (pts):',
  edit_type   => 'choice',   edit_type   => 'choice',
          choices     => $margin_choices,           choices     => $margin_choices,
          },           },
      tmargin   => {       tmargin      => {
  default     => 'default',   default     => 'default',
  test        => sub {$_[0]=~/^(default|\d+)$/},   test        => sub {$_[0]=~/^(default|\d+)$/},
  description => 'Top margin width (pts):',   description => 'Top margin width (pts):',
  edit_type   => 'choice',   edit_type   => 'choice',
          choices     => $margin_choices,           choices     => $margin_choices,
          },           },
      bmargin   => {       bmargin      => {
  default     => 'default',   default     => 'default',
  test        => sub {$_[0]=~/^(default|\d+)$/},   test        => sub {$_[0]=~/^(default|\d+)$/},
  description => 'Bottom margin width (pts):',   description => 'Bottom margin width (pts):',
  edit_type   => 'choice',   edit_type   => 'choice',
          choices     => $margin_choices,           choices     => $margin_choices,
          },           },
        boxwidth     => {
    default     => '',
    test        => $real_test, 
    description => 'width of boxes default auto',
    edit_type   => 'entry',
            size        => '5'
            },
      major_ticscale  => {       major_ticscale  => {
          default     => '1',           default     => '1',
          test        => $real_test,           test        => $real_test,
Line 414  my %axis_defaults = Line 457  my %axis_defaults =
  }   }
      );       );
   
 my @curve_edit_order = ('color','name','linestyle','pointtype','pointsize');  my @curve_edit_order = ('color','name','linestyle','pointtype','pointsize','limit');
   
 my %curve_defaults =   my %curve_defaults = 
     (      (
Line 460  my %curve_defaults = Line 503  my %curve_defaults =
          description => 'point type (may not apply to all line styles)',           description => 'point type (may not apply to all line styles)',
          edit_type   => 'choice',           edit_type   => 'choice',
          choices     => [0,1,2,3,4,5,6]           choices     => [0,1,2,3,4,5,6]
          }           },
        limit     => {
            default     => 'closed',
    test        => sub {$_[0]=~/^(closed|x1|x2|y1|y2)$/},
            description => 'point to fill -- for filledcurves',
            edit_type   => 'choice',
            choices     => ['closed','x1','x2','y1','y2']
            },
      );       );
   
 ###################################################################  ###################################################################
Line 1065  sub write_gnuplot_file { Line 1115  sub write_gnuplot_file {
     } else {      } else {
         # Assume Cartesian          # Assume Cartesian
     }      }
       # solid or pattern for boxes?
       if (lc($Apache::lonplot::plot{'fillstyle'}) eq 'solid') {
           $gnuplot_input .= 'set style fill solid '.
       $Apache::lonplot::plot{'solid'}.$Apache::lonplot::plot{'box_border'}.$/;
       } elsif (lc($Apache::lonplot::plot{'fillstyle'}) eq 'pattern') {
           $gnuplot_input .= 'set style fill pattern '.$Apache::lonplot::plot{'pattern'}.$Apache::lonplot::plot{'box_border'}.$/;
       } elsif (lc($Apache::lonplot::plot{'fillstyle'}) eq 'empty') {
       }
     # margin      # margin
     if (lc($Apache::lonplot::plot{'lmargin'}) ne 'default') {      if (lc($Apache::lonplot::plot{'lmargin'}) ne 'default') {
         $gnuplot_input .= 'set lmargin '.$Apache::lonplot::plot{'lmargin'}.$/;          $gnuplot_input .= 'set lmargin '.$Apache::lonplot::plot{'lmargin'}.$/;
Line 1081  sub write_gnuplot_file { Line 1139  sub write_gnuplot_file {
     # tic scales      # tic scales
     $gnuplot_input .= 'set ticscale '.      $gnuplot_input .= 'set ticscale '.
         $Apache::lonplot::plot{'major_ticscale'}.' '.$Apache::lonplot::plot{'minor_ticscale'}.$/;          $Apache::lonplot::plot{'major_ticscale'}.' '.$Apache::lonplot::plot{'minor_ticscale'}.$/;
       #boxwidth
       if (lc($Apache::lonplot::plot{'boxwidth'}) ne '') {
    $gnuplot_input .= 'set boxwidth '.$Apache::lonplot::plot{'boxwidth'}.$/;
       }
       # gridlayer
       $gnuplot_input .= 'set grid noxtics noytics front '.$/ 
    if ($Apache::lonplot::plot{'gridlayer'} eq 'on');
   
     # grid      # grid
     $gnuplot_input .= 'set grid'.$/ if ($Apache::lonplot::plot{'grid'} eq 'on');      $gnuplot_input .= 'set grid'.$/ if ($Apache::lonplot::plot{'grid'} eq 'on');
     # border      # border
Line 1169  sub write_gnuplot_file { Line 1235  sub write_gnuplot_file {
                 ($curve->{'linestyle'} eq 'xyerrorbars')) {                  ($curve->{'linestyle'} eq 'xyerrorbars')) {
                 $gnuplot_input.=' pointtype '.$curve->{'pointtype'};                  $gnuplot_input.=' pointtype '.$curve->{'pointtype'};
                 $gnuplot_input.=' pointsize '.$curve->{'pointsize'};                  $gnuplot_input.=' pointsize '.$curve->{'pointsize'};
               } elsif ($curve->{'linestyle'} eq 'filledcurves') { 
                   $gnuplot_input.= ' '.$curve->{'limit'};
             }              }
  } elsif (exists($curve->{'data'})) {   } elsif (exists($curve->{'data'})) {
     # Store data values in $datatext      # Store data values in $datatext
Line 1202  sub write_gnuplot_file { Line 1270  sub write_gnuplot_file {
                 ($curve->{'linestyle'} eq 'xyerrorbars')) {                  ($curve->{'linestyle'} eq 'xyerrorbars')) {
                 $gnuplot_input.=' pointtype '.$curve->{'pointtype'};                  $gnuplot_input.=' pointtype '.$curve->{'pointtype'};
                 $gnuplot_input.=' pointsize '.$curve->{'pointsize'};                  $gnuplot_input.=' pointsize '.$curve->{'pointsize'};
               } elsif ($curve->{'linestyle'} eq 'filledcurves') { 
                   $gnuplot_input.= ' '.$curve->{'limit'};
             }              }
  }   }
     }      }

Removed from v.1.109  
changed lines
  Added in v.1.110


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