Diff for /loncom/xml/lonplot.pm between versions 1.133 and 1.136

version 1.133, 2007/12/14 06:34:59 version 1.136, 2008/03/24 21:53:41
Line 91  BEGIN { Line 91  BEGIN {
 my $max_str_len = 50;    # if a label, title, xlabel, or ylabel text  my $max_str_len = 50;    # if a label, title, xlabel, or ylabel text
                          # is longer than this, it will be truncated.                           # is longer than this, it will be truncated.
   
   my %linetypes =
       (
        solid          => 1,
        dashed         => 0
       );
   
 my %linestyles =   my %linestyles = 
     (      (
      lines          => 2,     # Maybe this will be used in the future       lines          => 2,     # Maybe this will be used in the future
Line 385  my %label_defaults = Line 391  my %label_defaults =
  description => 'justification of the label text on the plot',   description => 'justification of the label text on the plot',
  edit_type   => 'choice',   edit_type   => 'choice',
  choices     => ['left','right','center']   choices     => ['left','right','center']
        },
        rotate => {
            default => 0,
            test => $real_test,
            description => 'Rotation of label (degrees)',
            edit_type   => 'entry',
            size        => '10',
      }       }
      );       );
   
Line 490  my %axis_defaults = Line 503  my %axis_defaults =
   
      );       );
   
 my @curve_edit_order = ('color','name','linestyle','linewidth','pointtype','pointsize','limit');  my @curve_edit_order = ('color','name','linestyle','linewidth','linetype','pointtype','pointsize','limit');
   
 my %curve_defaults =   my %curve_defaults = 
     (      (
Line 511  my %curve_defaults = Line 524  my %curve_defaults =
      linestyle => {       linestyle => {
  default => 'lines',   default => 'lines',
  test => $linestyle_test,   test => $linestyle_test,
  description => 'Line style',   description => 'Plot with:',
  edit_type   => 'choice',   edit_type   => 'choice',
  choices     => [keys(%linestyles)]   choices     => [keys(%linestyles)]
  },   },
      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 plot 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]
          },           },
        linetype => {
            default     => 'solid',
            test        => sub {$_[0]=~/^(solid|dashed)$/},
            description => 'Line type (may not apply to all plot styles)',
            edit_type   => 'choice',
            choices     => ['solid', 'dashed']
            }, 
      pointsize => {       pointsize => {
          default     => 1,           default     => 1,
          test        => $pos_real_test,           test        => $pos_real_test,
          description => 'Point size (may not apply to all line styles)',           description => 'Point size (may not apply to all plot styles)',
          edit_type   => 'entry',           edit_type   => 'entry',
          size        => '5'           size        => '5'
          },           },
      pointtype => {       pointtype => {
          default     => 1,           default     => 1,
          test        => $int_test,           test        => $int_test,
          description => 'Point type (may not apply to all line styles)',           description => 'Point type (may not apply to all plot styles)',
          edit_type   => 'choice',           edit_type   => 'choice',
          choices     => [0,1,2,3,4,5,6]           choices     => [0,1,2,3,4,5,6]
          },           },
      limit     => {       limit     => {
          default     => 'closed',           default     => 'closed',
  test        => sub {$_[0]=~/^(closed|x1|x2|y1|y2)$/},   test        => sub {$_[0]=~/^(above|below|closed|x1|x2|y1|y2)$/},
          description => 'Point to fill -- for filledcurves',           description => 'Point to fill -- for filledcurves',
          edit_type   => 'choice',           edit_type   => 'choice',
          choices     => ['closed','x1','x2','y1','y2']           choices     => ['above', 'below', 'closed','x1','x2','y1','y2']
          },           },
      );       );
   
Line 1418  sub write_gnuplot_file { Line 1438  sub write_gnuplot_file {
     my $label;      my $label;
     foreach $label (@labels) {      foreach $label (@labels) {
  $gnuplot_input .= 'set label "'.$label->{'text'}.'" at '.   $gnuplot_input .= 'set label "'.$label->{'text'}.'" at '.
     $label->{'xpos'}.','.$label->{'ypos'}.' '.$label->{'justify'};                            $label->{'xpos'}.','.$label->{'ypos'};
           if ($label->{'rotate'} ne '') {
               $gnuplot_input .= ' rotate by '.$label->{'rotate'};
           }
           $gnuplot_input .= ' '.$label->{'justify'};
   
         if ($target eq 'tex') {          if ($target eq 'tex') {
     $gnuplot_input .=' font "'.$font_properties->{'printname'}.','.$fontsize.'pt"' ;      $gnuplot_input .=' font "'.$font_properties->{'printname'}.','.$fontsize.'pt"' ;
         }          }
Line 1452  sub write_gnuplot_file { Line 1477  sub write_gnuplot_file {
                 $gnuplot_input.=' pointsize '.$curve->{'pointsize'};                  $gnuplot_input.=' pointsize '.$curve->{'pointsize'};
             } elsif ($curve->{'linestyle'} eq 'filledcurves') {               } elsif ($curve->{'linestyle'} eq 'filledcurves') { 
                 $gnuplot_input.= ' '.$curve->{'limit'};                  $gnuplot_input.= ' '.$curve->{'limit'};
               } elsif ($curve->{'linetype'} ne '' &&
                        $curve->{'linestyle'} eq 'lines') {
                   $gnuplot_input.= ' linetype ';
                   $gnuplot_input.= $linetypes{$curve->{'linetype'}};
                   $gnuplot_input.= ' linecolor rgb "';
                   # convert color from xaaaaaa to #aaaaaa
                   $curve->{'color'} =~ s/^x/#/;
                   $gnuplot_input.= $curve->{'color'}.'"';
             }              }
             $gnuplot_input.= ' linewidth '.$curve->{'linewidth'};              $gnuplot_input.= ' linewidth '.$curve->{'linewidth'};
   
Line 1488  sub write_gnuplot_file { Line 1521  sub write_gnuplot_file {
                 $gnuplot_input.=' pointsize '.$curve->{'pointsize'};                  $gnuplot_input.=' pointsize '.$curve->{'pointsize'};
             } elsif ($curve->{'linestyle'} eq 'filledcurves') {               } elsif ($curve->{'linestyle'} eq 'filledcurves') { 
                 $gnuplot_input.= ' '.$curve->{'limit'};                  $gnuplot_input.= ' '.$curve->{'limit'};
               } elsif ($curve->{'linetype'} ne '' &&
                        $curve->{'linestyle'} eq 'lines') {
                   $gnuplot_input.= ' linetype ';
                   $gnuplot_input.= $linetypes{$curve->{'linetype'}};
                   $gnuplot_input.= ' linecolor rgb "';
                   # convert color from xaaaaaa to #aaaaaa
                   $curve->{'color'} =~ s/^x/#/;
                   $gnuplot_input.= $curve->{'color'}.'"';
             }              }
             $gnuplot_input.= ' linewidth '.$curve->{'linewidth'};                  $gnuplot_input.= ' linewidth '.$curve->{'linewidth'}; 
  }   }
     }      }
     # Write the output to a file.      # Write the output to a file.

Removed from v.1.133  
changed lines
  Added in v.1.136


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