[LON-CAPA-cvs] cvs: loncom /xml lonplot.pm
matthew
lon-capa-cvs@mail.lon-capa.org
Mon, 30 Aug 2004 15:23:24 -0000
matthew Mon Aug 30 11:23:24 2004 EDT
Modified files:
/loncom/xml lonplot.pm
Log:
Added lmargin,rmargin,tmargin,bmargin, major_ticscale, and minor_ticscale
attributes to the <gnuplot> tag. This change will not affect any currently
published plots.
Index: loncom/xml/lonplot.pm
diff -u loncom/xml/lonplot.pm:1.100 loncom/xml/lonplot.pm:1.101
--- loncom/xml/lonplot.pm:1.100 Tue Aug 17 13:37:56 2004
+++ loncom/xml/lonplot.pm Mon Aug 30 11:23:23 2004
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Dynamic plot
#
-# $Id: lonplot.pm,v 1.100 2004/08/17 17:37:56 matthew Exp $
+# $Id: lonplot.pm,v 1.101 2004/08/30 15:23:23 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -119,7 +119,11 @@
###################################################################
my @gnuplot_edit_order =
qw/alttag bgcolor fgcolor height width font transparent grid samples
- border align texwidth texfont plottype/;
+ border align texwidth texfont plottype lmargin rmargin tmargin bmargin
+ major_ticscale minor_ticscale/;
+
+my $margin_choices = ['default',
+ qw{0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20}];
my %gnuplot_defaults =
(
@@ -218,6 +222,48 @@
edit_type => 'choice',
choices => ['Cartesian','Polar']
},
+ lmargin => {
+ default => 'default',
+ test => sub {$_[0]=~/^(default|\d+)$/},
+ description => 'Left margin width (pts):',
+ edit_type => 'choice',
+ choices => $margin_choices,
+ },
+ rmargin => {
+ default => 'default',
+ test => sub {$_[0]=~/^(default|\d+)$/},
+ description => 'Right margin width (pts):',
+ edit_type => 'choice',
+ choices => $margin_choices,
+ },
+ tmargin => {
+ default => 'default',
+ test => sub {$_[0]=~/^(default|\d+)$/},
+ description => 'Top margin width (pts):',
+ edit_type => 'choice',
+ choices => $margin_choices,
+ },
+ bmargin => {
+ default => 'default',
+ test => sub {$_[0]=~/^(default|\d+)$/},
+ description => 'Bottm margin width (pts):',
+ edit_type => 'choice',
+ choices => $margin_choices,
+ },
+ major_ticscale => {
+ default => '1',
+ test => $real_test,
+ description => 'Size of major tic marks (plot coordinates)',
+ edit_type => 'entry',
+ size => '5'
+ },
+ minor_ticscale => {
+ default => '0.5',
+ test => $real_test,
+ description => 'Size of minor tic mark (plot coordinates)',
+ edit_type => 'entry',
+ size => '5'
+ },
);
my %key_defaults =
@@ -1002,6 +1048,22 @@
} else {
# Assume Cartesian
}
+ # margin
+ if (lc($plot{'lmargin'}) ne 'default') {
+ $gnuplot_input .= 'set lmargin '.$plot{'lmargin'}.$/;
+ }
+ if (lc($plot{'rmargin'}) ne 'default') {
+ $gnuplot_input .= 'set rmargin '.$plot{'rmargin'}.$/;
+ }
+ if (lc($plot{'tmargin'}) ne 'default') {
+ $gnuplot_input .= 'set tmargin '.$plot{'tmargin'}.$/;
+ }
+ if (lc($plot{'bmargin'}) ne 'default') {
+ $gnuplot_input .= 'set bmargin '.$plot{'bmargin'}.$/;
+ }
+ # tic scales
+ $gnuplot_input .= 'set ticscale '.
+ $plot{'major_ticscale'}.' '.$plot{'minor_ticscale'}.$/;
# grid
$gnuplot_input .= 'set grid'.$/ if ($plot{'grid'} eq 'on');
# border