--- loncom/xml/lonplot.pm 2004/08/17 17:37:56 1.100 +++ loncom/xml/lonplot.pm 2004/08/30 15:23:23 1.101 @@ -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 $words_test = sub {$_[0]=~s/\s+/ ################################################################### 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 @@ my %gnuplot_defaults = 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 @@ sub write_gnuplot_file { } 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