Diff for /loncom/xml/lonplot.pm between versions 1.149 and 1.153

version 1.149, 2008/11/24 17:17:52 version 1.153, 2011/07/04 09:25:13
Line 455  my %tic_defaults = Line 455  my %tic_defaults =
  },            },         
      );       );
   
 my @axis_edit_order = ('color','xmin','xmax','ymin','ymax','xformat', 'yformat');  my @axis_edit_order = ('color','xmin','xmax','ymin','ymax','xformat', 'yformat', 'xzero', 'yzero');
 my %axis_defaults =   my %axis_defaults = 
     (      (
      color   => {       color   => {
Line 503  my %axis_defaults = Line 503  my %axis_defaults =
      yformat      => {       yformat      => {
          default     => 'on',           default     => 'on',
          test        => sub {$_[0]=~/^(on|off|\d+(f|F|e|E))$/},           test        => sub {$_[0]=~/^(on|off|\d+(f|F|e|E))$/},
          description => 'X-axis number formatting',           description => 'Y-axis number formatting',
          edit_type   => 'choice',           edit_type   => 'choice',
          choices     => ['on', 'off', '2e', '2f'],           choices     => ['on', 'off', '2e', '2f'],
          },           },
        
        xzero => {
         default => 'off',
         test => sub {$_[0]=~/^(off|line|thick-line|dotted)$/},
         description => 'Show x-zero (y=0) axis',
         edit_type  => 'choice',
         choices => ['off', 'line', 'thick-line', 'dotted'],
         },
        
        yzero => {
         default => 'off',
         test => sub {$_[0]=~/^(off|line|thick-line|dotted)$/},
         description => 'Show y-zero (x=0) axis',
         edit_type  => 'choice',
         choices => ['off', 'line', 'thick-line', 'dotted'],
         },
      );       );
   
 my @curve_edit_order = ('color','name','linestyle','linewidth','linetype','pointtype','pointsize','limit');  my @curve_edit_order = ('color','name','linestyle','linewidth','linetype','pointtype','pointsize','limit');
Line 619  sub end_gnuplot { Line 634  sub end_gnuplot {
  ('title','xlabel','ylabel','key','axis','label','curve'));   ('title','xlabel','ylabel','key','axis','label','curve'));
     my $result = '';      my $result = '';
     my $randnumber;      my $randnumber;
       my $tmpdir =LONCAPA::tempdir(); # Where temporary files live:
   
     # need to call rand everytime start_script would evaluate, as the      # need to call rand everytime start_script would evaluate, as the
     # safe space rand number generator and the global rand generator       # safe space rand number generator and the global rand generator 
     # are not separate      # are not separate
Line 630  sub end_gnuplot { Line 647  sub end_gnuplot {
  &check_inputs(); # Make sure we have all the data we need   &check_inputs(); # Make sure we have all the data we need
  ##   ##
  ## Determine filename   ## Determine filename
  my $tmpdir = '/home/httpd/perl/tmp/';  
  my $filename = $env{'user.name'}.'_'.$env{'user.domain'}.   my $filename = $env{'user.name'}.'_'.$env{'user.domain'}.
     '_'.time.'_'.$$.$randnumber.'_plot';      '_'.time.'_'.$$.$randnumber.'_plot';
  ## Write the plot description to the file   ## Write the plot description to the file
Line 651  ENDIMAGE Line 667  ENDIMAGE
     #might be inside the safe space, register the URL for later      #might be inside the safe space, register the URL for later
     &Apache::lonxml::register_ssi("/cgi-bin/plot.gif?file=$filename.data&output=eps");      &Apache::lonxml::register_ssi("/cgi-bin/plot.gif?file=$filename.data&output=eps");
     $result  = "%DYNAMICIMAGE:$Apache::lonplot::plot{'width'}:$Apache::lonplot::plot{'height'}:$Apache::lonplot::plot{'texwidth'}\n";      $result  = "%DYNAMICIMAGE:$Apache::lonplot::plot{'width'}:$Apache::lonplot::plot{'height'}:$Apache::lonplot::plot{'texwidth'}\n";
     $result .= '\graphicspath{{/home/httpd/perl/tmp/}}'."\n";      $result .= '\graphicspath{{'.$tmpdir.'}}'."\n";
     $result .= '\includegraphics[width='.$Apache::lonplot::plot{'texwidth'}.' mm]{'.&unescape($filename).'.eps}';      $result .= '\includegraphics[width='.$Apache::lonplot::plot{'texwidth'}.' mm]{'.&unescape($filename).'.eps}';
  }   }
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
Line 1440  sub start_data { Line 1456  sub start_data {
  }   }
  # complain if the number of data points is not the same as   # complain if the number of data points is not the same as
  # in previous sets of data.   # in previous sets of data.
  if (($curves[-1]->{'data'}) && ($#data != $#{@{$curves[-1]->{'data'}->[0]}})){   if (($curves[-1]->{'data'}) && ($#data != $#{$curves[-1]->{'data'}->[0]})){
     &Apache::lonxml::warning      &Apache::lonxml::warning
  ('Number of data points is not consistent with previous '.   ('Number of data points is not consistent with previous '.
  'number of data points');   'number of data points');
Line 1594  sub write_gnuplot_file { Line 1610  sub write_gnuplot_file {
  }   }
  $gnuplot_input .= ' "'.$font_properties->{'printname'}.'" ';   $gnuplot_input .= ' "'.$font_properties->{'printname'}.'" ';
  $gnuplot_input .= $fontsize;   $gnuplot_input .= $fontsize;
  $gnuplot_input .= "\nset output \"/home/httpd/perl/tmp/".   $gnuplot_input .= "\nset output \"".$tmpdir.
     &unescape($filename).".eps\"\n";      &unescape($filename).".eps\"\n";
  $gnuplot_input .= "set encoding iso_8859_1\n"; # Get access to extended font.   $gnuplot_input .= "set encoding iso_8859_1\n"; # Get access to extended font.
   
Line 1735  sub write_gnuplot_file { Line 1751  sub write_gnuplot_file {
         }          }
  $gnuplot_input .= "set xrange \[$axis{'xmin'}:$axis{'xmax'}\]\n";   $gnuplot_input .= "set xrange \[$axis{'xmin'}:$axis{'xmax'}\]\n";
  $gnuplot_input .= "set yrange \[$axis{'ymin'}:$axis{'ymax'}\]\n";   $gnuplot_input .= "set yrange \[$axis{'ymin'}:$axis{'ymax'}\]\n";
    if ($axis{'xzero'} ne 'off') {
    $gnuplot_input .= "set xzeroaxis ";
    if ($axis{'xzero'} eq 'line' || $axis{'xzero'} eq 'thick-line') {
    $gnuplot_input .= "lt -1 ";
    if ($axis{'xzero'} eq 'thick-line') {
    $gnuplot_input .= "lw 3 ";
    }
    }
    $gnuplot_input .= "\n";
    }
    if ($axis{'yzero'} ne 'off') {
    $gnuplot_input .= "set yzeroaxis ";
    if ($axis{'yzero'} eq 'line' || $axis{'yzero'} eq 'thick-line') {
    $gnuplot_input .= "lt -1 ";
    if ($axis{'yzero'} eq 'thick-line') {
    $gnuplot_input .= "lw 3 ";
    }
    }
    $gnuplot_input .= "\n";
    }
     }      }
     # Key      # Key
     if (%key) {      if (%key) {

Removed from v.1.149  
changed lines
  Added in v.1.153


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