--- loncom/xml/lonplot.pm 2007/08/09 06:25:43 1.128 +++ loncom/xml/lonplot.pm 2007/10/09 22:11:51 1.131 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Dynamic plot # -# $Id: lonplot.pm,v 1.128 2007/08/09 06:25:43 albertel Exp $ +# $Id: lonplot.pm,v 1.131 2007/10/09 22:11:51 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -36,11 +36,10 @@ use Apache::response; use Apache::lonxml; use Apache::edit; use Apache::lonnet; -use lib '/home/httpd/lib/perl/'; use LONCAPA; -use vars qw/$weboutputformat $versionstring/; +use vars qw/$weboutputformat $version/; @@ -49,8 +48,9 @@ BEGIN { # # Determine the version of GNUPLOT $weboutputformat = 'gif'; - $versionstring = `gnuplot --version 2>/dev/null`; - if ($versionstring =~ /^gnuplot 4/) { + my $versionstring = `gnuplot --version 2>/dev/null`; + ($version) = ($versionstring =~ /^gnuplot ([\d.]+)/); + if ($version >= 4) { $weboutputformat = 'png'; } @@ -501,7 +501,7 @@ my %curve_defaults = choices => [keys(%linestyles)] }, linewidth => { - default => 2, + default => 1, test => $int_test, description => 'Line width (may not apply to all line styles)', edit_type => 'choice', @@ -1259,9 +1259,15 @@ sub write_gnuplot_file { if (lc($Apache::lonplot::plot{'bmargin'}) ne 'default') { $gnuplot_input .= 'set bmargin '.$Apache::lonplot::plot{'bmargin'}.$/; } + # tic scales - $gnuplot_input .= 'set ticscale '. - $Apache::lonplot::plot{'major_ticscale'}.' '.$Apache::lonplot::plot{'minor_ticscale'}.$/; + if ($version > 4) { + $gnuplot_input .= 'set tics scale '. + $Apache::lonplot::plot{'major_ticscale'}.', '.$Apache::lonplot::plot{'minor_ticscale'}.$/; + } else { + $gnuplot_input .= 'set 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'}.$/; @@ -1355,7 +1361,6 @@ sub write_gnuplot_file { $curve->{'function'}.' title "'. $curve->{'name'}.'" with '. $curve->{'linestyle'}; - $gnuplot_input.= ' linewidth '.$curve->{'linewidth'}; if (($curve->{'linestyle'} eq 'points') || ($curve->{'linestyle'} eq 'linespoints') || @@ -1368,6 +1373,8 @@ sub write_gnuplot_file { } elsif ($curve->{'linestyle'} eq 'filledcurves') { $gnuplot_input.= ' '.$curve->{'limit'}; } + $gnuplot_input.= ' linewidth '.$curve->{'linewidth'}; + } elsif (exists($curve->{'data'})) { # Store data values in $datatext my $datatext = ''; @@ -1391,7 +1398,6 @@ sub write_gnuplot_file { $gnuplot_input.= '"'.$datafilename.'" title "'. $curve->{'name'}.'" with '. $curve->{'linestyle'}; - $gnuplot_input.= ' linewidth '.$curve->{'linewidth'}; if (($curve->{'linestyle'} eq 'points') || ($curve->{'linestyle'} eq 'linespoints') || ($curve->{'linestyle'} eq 'errorbars') || @@ -1403,6 +1409,7 @@ sub write_gnuplot_file { } elsif ($curve->{'linestyle'} eq 'filledcurves') { $gnuplot_input.= ' '.$curve->{'limit'}; } + $gnuplot_input.= ' linewidth '.$curve->{'linewidth'}; } } # Write the output to a file.