[LON-CAPA-cvs] cvs: loncom /xml lonplot.pm
matthew
lon-capa-cvs@mail.lon-capa.org
Fri, 22 Mar 2002 16:56:37 -0000
matthew Fri Mar 22 11:56:37 2002 EDT
Modified files:
/loncom/xml lonplot.pm
Log:
Added pointtype specification, changed pointsize to positive real number,
fixed bug in which point sizes were not passed to gnuplot for curves which
used data instead of specifying a function.
Index: loncom/xml/lonplot.pm
diff -u loncom/xml/lonplot.pm:1.61 loncom/xml/lonplot.pm:1.62
--- loncom/xml/lonplot.pm:1.61 Fri Mar 22 11:04:09 2002
+++ loncom/xml/lonplot.pm Fri Mar 22 11:56:37 2002
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Dynamic plot
#
-# $Id: lonplot.pm,v 1.61 2002/03/22 16:04:09 matthew Exp $
+# $Id: lonplot.pm,v 1.62 2002/03/22 16:56:37 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -97,6 +97,8 @@
my $int_test = sub {$_[0]=~s/\s+//g;$_[0]=~/^\d+$/};
my $real_test =
sub {$_[0]=~s/\s+//g;$_[0]=~/^[+-]?\d*\.?\d*([eE][+-]\d+)?$/};
+my $pos_real_test =
+ sub {$_[0]=~s/\s+//g;$_[0]=~/^[+]?\d*\.?\d*([eE][+-]\d+)?$/};
my $color_test = sub {$_[0]=~s/\s+//g;$_[0]=~/^x[\da-f]{6}$/};
my $onoff_test = sub {$_[0]=~/^(on|off)$/};
my $key_pos_test = sub {$_[0]=~/^(top|bottom|right|left|outside|below| )+$/};
@@ -367,7 +369,7 @@
</dl>
ENDCURVEHELP
-my @curve_edit_order = ('color','name','linestyle','pointsize');
+my @curve_edit_order = ('color','name','linestyle','pointtype','pointsize');
my %curve_defaults =
(
@@ -402,10 +404,17 @@
# },
pointsize => {
default => 1,
- test => $int_test,
+ test => $pos_real_test,
description => 'point size (may not apply to all line styles)',
+ edit_type => 'entry',
+ size => '5'
+ },
+ pointtype => {
+ default => 1,
+ test => $int_test,
+ description => 'point type (may not apply to all line styles)',
edit_type => 'choice',
- choices => [0,1,2,3,4,5,6,7,8,9,10]
+ choices => [0,1,2,3,4,5,6]
}
);
@@ -1042,6 +1051,7 @@
($curve->{'linestyle'} eq 'xerrorbars') ||
($curve->{'linestyle'} eq 'yerrorbars') ||
($curve->{'linestyle'} eq 'xyerrorbars')) {
+ $gnuplot_input.=' pointtype '.$curve->{'pointtype'};
$gnuplot_input.=' pointsize '.$curve->{'pointsize'};
}
} elsif (exists($curve->{'data'})) {
@@ -1067,6 +1077,15 @@
$gnuplot_input.= '"'.$datafilename.'" title "'.
$curve->{'name'}.'" with '.
$curve->{'linestyle'};
+ if (($curve->{'linestyle'} eq 'points') ||
+ ($curve->{'linestyle'} eq 'linespoints') ||
+ ($curve->{'linestyle'} eq 'errorbars') ||
+ ($curve->{'linestyle'} eq 'xerrorbars') ||
+ ($curve->{'linestyle'} eq 'yerrorbars') ||
+ ($curve->{'linestyle'} eq 'xyerrorbars')) {
+ $gnuplot_input.=' pointtype '.$curve->{'pointtype'};
+ $gnuplot_input.=' pointsize '.$curve->{'pointsize'};
+ }
}
}
# Write the output to a file.