version 1.96, 2004/05/26 19:44:20
|
version 1.100, 2004/08/17 17:37:56
|
Line 36 use Apache::response;
|
Line 36 use Apache::response;
|
use Apache::lonxml; |
use Apache::lonxml; |
use Apache::edit; |
use Apache::edit; |
|
|
|
use vars qw/$weboutputformat $versionstring/; |
|
|
BEGIN { |
BEGIN { |
&Apache::lonxml::register('Apache::lonplot',('gnuplot')); |
&Apache::lonxml::register('Apache::lonplot',('gnuplot')); |
|
# |
|
# Determine the version of GNUPLOT |
|
$weboutputformat = 'gif'; |
|
$versionstring = `gnuplot --version 2>/dev/null`; |
|
if ($versionstring =~ /^gnuplot 4/) { |
|
$weboutputformat = 'png'; |
|
} |
} |
} |
|
|
## |
## |
Line 302 my %tic_defaults =
|
Line 311 my %tic_defaults =
|
minorfreq => { |
minorfreq => { |
default => '0', |
default => '0', |
test => $int_test, |
test => $int_test, |
description => 'Number of minor tics between major tic marks', |
description => 'Number of minor tics per major tic mark', |
edit_type => 'entry', |
edit_type => 'entry', |
size => '10' |
size => '10' |
}, |
}, |
Line 460 sub end_gnuplot {
|
Line 469 sub end_gnuplot {
|
## return image tag for the plot |
## return image tag for the plot |
if ($target eq 'web') { |
if ($target eq 'web') { |
$result .= <<"ENDIMAGE"; |
$result .= <<"ENDIMAGE"; |
<img src = "/cgi-bin/plot.gif?file=$filename.data&output=gif" |
<img src = "/cgi-bin/plot.gif?file=$filename.data&output=$weboutputformat" |
width = "$plot{'width'}" |
width = "$plot{'width'}" |
height = "$plot{'height'}" |
height = "$plot{'height'}" |
align = "$plot{'align'}" |
align = "$plot{'align'}" |
Line 945 sub write_gnuplot_file {
|
Line 954 sub write_gnuplot_file {
|
my $gnuplot_input = ''; |
my $gnuplot_input = ''; |
my $curve; |
my $curve; |
my $pt = $plot{'texfont'}; |
my $pt = $plot{'texfont'}; |
|
# |
|
# Check to be sure we do not have any empty curves |
|
my @curvescopy; |
|
foreach my $curve (@curves) { |
|
if (exists($curve->{'function'})) { |
|
if ($curve->{'function'} !~ /^\s*$/) { |
|
push(@curvescopy,$curve); |
|
} |
|
} elsif (exists($curve->{'data'})) { |
|
foreach my $data (@{$curve->{'data'}}) { |
|
if (scalar(@$data) > 0) { |
|
push(@curvescopy,$curve); |
|
last; |
|
} |
|
} |
|
} |
|
} |
|
@curves = @curvescopy; |
# Collect all the colors |
# Collect all the colors |
my @Colors; |
my @Colors; |
push @Colors, $plot{'bgcolor'}; |
push @Colors, $plot{'bgcolor'}; |