version 1.109, 2005/06/07 22:30:42
|
version 1.110, 2005/06/09 02:16:04
|
Line 102 my %linestyles =
|
Line 102 my %linestyles =
|
yerrorbars => [3,4], |
yerrorbars => [3,4], |
xyerrorbars => [4,6], |
xyerrorbars => [4,6], |
boxes => 3, |
boxes => 3, |
|
filledcurves => 2, |
vector => 4 |
vector => 4 |
); |
); |
|
|
Line 125 my $words_test = sub {$_[0]=~s/\s+/
|
Line 126 my $words_test = sub {$_[0]=~s/\s+/
|
my @gnuplot_edit_order = |
my @gnuplot_edit_order = |
qw/alttag bgcolor fgcolor height width font transparent grid samples |
qw/alttag bgcolor fgcolor height width font transparent grid samples |
border align texwidth texfont plotcolor plottype lmargin rmargin tmargin |
border align texwidth texfont plotcolor plottype lmargin rmargin tmargin |
bmargin major_ticscale minor_ticscale/; |
bmargin major_ticscale minor_ticscale boxwidth gridlayer fillstyle |
|
pattern solid/; |
|
|
my $margin_choices = ['default',0..20]; |
my $margin_choices = ['default',0..20]; |
|
|
Line 178 my %gnuplot_defaults =
|
Line 180 my %gnuplot_defaults =
|
description => 'Display grid', |
description => 'Display grid', |
edit_type => 'onoff' |
edit_type => 'onoff' |
}, |
}, |
|
gridlayer => { |
|
default => 'off', |
|
test => $onoff_test, |
|
description => 'Display grid front layer over filled boxes or filled curves', |
|
edit_type => 'onoff' |
|
}, |
|
box_border => { |
|
default => 'noborder', |
|
test => sub {$_[0]=~/^(noborder|border)$/}, |
|
description => 'Draw border for boxes', |
|
edit_type => 'choice', |
|
choices => ['border','noborder'] |
|
}, |
border => { |
border => { |
default => 'on', |
default => 'on', |
test => $onoff_test, |
test => $onoff_test, |
Line 191 my %gnuplot_defaults =
|
Line 206 my %gnuplot_defaults =
|
edit_type => 'choice', |
edit_type => 'choice', |
choices => ['small','medium','large'] |
choices => ['small','medium','large'] |
}, |
}, |
samples => { |
samples => { |
default => '100', |
default => '100', |
test => $int_test, |
test => $int_test, |
description => 'Number of samples for non-data plots', |
description => 'Number of samples for non-data plots', |
Line 212 my %gnuplot_defaults =
|
Line 227 my %gnuplot_defaults =
|
edit_type => 'entry', |
edit_type => 'entry', |
size => '5' |
size => '5' |
}, |
}, |
texfont => { |
texfont => { |
default => '22', |
default => '22', |
test => $int_test, |
test => $int_test, |
description => 'Font size to use in TeX output (pts):', |
description => 'Font size to use in TeX output (pts):', |
edit_type => 'choice', |
edit_type => 'choice', |
choices => [qw/8 10 12 14 16 18 20 22 24 26 28 30 32 34 36/], |
choices => [qw/8 10 12 14 16 18 20 22 24 26 28 30 32 34 36/], |
}, |
}, |
plotcolor => { |
plotcolor => { |
default => 'monochrome', |
default => 'monochrome', |
test => sub {$_[0]=~/^(monochrome|color|colour)$/}, |
test => sub {$_[0]=~/^(monochrome|color|colour)$/}, |
description => 'Color setting for printing:', |
description => 'Color setting for printing:', |
edit_type => 'choice', |
edit_type => 'choice', |
choices => [qw/monochrome color colour/], |
choices => [qw/monochrome color colour/], |
}, |
}, |
plottype => { |
pattern => { |
|
default => '', |
|
test => $int_test, |
|
description => 'pattern value for boxes:', |
|
edit_type => 'choice', |
|
choices => [0,1,2,3,4,5,6] |
|
}, |
|
solid => { |
|
default => 0, |
|
test => $real_test, |
|
description => 'The density of fill style for boxes', |
|
edit_type => 'entry', |
|
size => '5' |
|
}, |
|
fillstyle => { |
|
default => 'empty', |
|
test => sub {$_[0]=~/^(empty|solid|pattern)$/}, |
|
description => 'Filled style for boxes:', |
|
edit_type => 'choice', |
|
choices => ['empty','solid','pattern'] |
|
}, |
|
plottype => { |
default => 'Cartesian', |
default => 'Cartesian', |
test => sub {$_[0]=~/^(Polar|Cartesian)$/}, |
test => sub {$_[0]=~/^(Polar|Cartesian)$/}, |
description => 'Plot type:', |
description => 'Plot type:', |
edit_type => 'choice', |
edit_type => 'choice', |
choices => ['Cartesian','Polar'] |
choices => ['Cartesian','Polar'] |
}, |
}, |
lmargin => { |
lmargin => { |
default => 'default', |
default => 'default', |
test => sub {$_[0]=~/^(default|\d+)$/}, |
test => sub {$_[0]=~/^(default|\d+)$/}, |
description => 'Left margin width (pts):', |
description => 'Left margin width (pts):', |
edit_type => 'choice', |
edit_type => 'choice', |
choices => $margin_choices, |
choices => $margin_choices, |
}, |
}, |
rmargin => { |
rmargin => { |
default => 'default', |
default => 'default', |
test => sub {$_[0]=~/^(default|\d+)$/}, |
test => sub {$_[0]=~/^(default|\d+)$/}, |
description => 'Right margin width (pts):', |
description => 'Right margin width (pts):', |
edit_type => 'choice', |
edit_type => 'choice', |
choices => $margin_choices, |
choices => $margin_choices, |
}, |
}, |
tmargin => { |
tmargin => { |
default => 'default', |
default => 'default', |
test => sub {$_[0]=~/^(default|\d+)$/}, |
test => sub {$_[0]=~/^(default|\d+)$/}, |
description => 'Top margin width (pts):', |
description => 'Top margin width (pts):', |
edit_type => 'choice', |
edit_type => 'choice', |
choices => $margin_choices, |
choices => $margin_choices, |
}, |
}, |
bmargin => { |
bmargin => { |
default => 'default', |
default => 'default', |
test => sub {$_[0]=~/^(default|\d+)$/}, |
test => sub {$_[0]=~/^(default|\d+)$/}, |
description => 'Bottom margin width (pts):', |
description => 'Bottom margin width (pts):', |
edit_type => 'choice', |
edit_type => 'choice', |
choices => $margin_choices, |
choices => $margin_choices, |
}, |
}, |
|
boxwidth => { |
|
default => '', |
|
test => $real_test, |
|
description => 'width of boxes default auto', |
|
edit_type => 'entry', |
|
size => '5' |
|
}, |
major_ticscale => { |
major_ticscale => { |
default => '1', |
default => '1', |
test => $real_test, |
test => $real_test, |
Line 414 my %axis_defaults =
|
Line 457 my %axis_defaults =
|
} |
} |
); |
); |
|
|
my @curve_edit_order = ('color','name','linestyle','pointtype','pointsize'); |
my @curve_edit_order = ('color','name','linestyle','pointtype','pointsize','limit'); |
|
|
my %curve_defaults = |
my %curve_defaults = |
( |
( |
Line 460 my %curve_defaults =
|
Line 503 my %curve_defaults =
|
description => 'point type (may not apply to all line styles)', |
description => 'point type (may not apply to all line styles)', |
edit_type => 'choice', |
edit_type => 'choice', |
choices => [0,1,2,3,4,5,6] |
choices => [0,1,2,3,4,5,6] |
} |
}, |
|
limit => { |
|
default => 'closed', |
|
test => sub {$_[0]=~/^(closed|x1|x2|y1|y2)$/}, |
|
description => 'point to fill -- for filledcurves', |
|
edit_type => 'choice', |
|
choices => ['closed','x1','x2','y1','y2'] |
|
}, |
); |
); |
|
|
################################################################### |
################################################################### |
Line 1065 sub write_gnuplot_file {
|
Line 1115 sub write_gnuplot_file {
|
} else { |
} else { |
# Assume Cartesian |
# Assume Cartesian |
} |
} |
|
# solid or pattern for boxes? |
|
if (lc($Apache::lonplot::plot{'fillstyle'}) eq 'solid') { |
|
$gnuplot_input .= 'set style fill solid '. |
|
$Apache::lonplot::plot{'solid'}.$Apache::lonplot::plot{'box_border'}.$/; |
|
} elsif (lc($Apache::lonplot::plot{'fillstyle'}) eq 'pattern') { |
|
$gnuplot_input .= 'set style fill pattern '.$Apache::lonplot::plot{'pattern'}.$Apache::lonplot::plot{'box_border'}.$/; |
|
} elsif (lc($Apache::lonplot::plot{'fillstyle'}) eq 'empty') { |
|
} |
# margin |
# margin |
if (lc($Apache::lonplot::plot{'lmargin'}) ne 'default') { |
if (lc($Apache::lonplot::plot{'lmargin'}) ne 'default') { |
$gnuplot_input .= 'set lmargin '.$Apache::lonplot::plot{'lmargin'}.$/; |
$gnuplot_input .= 'set lmargin '.$Apache::lonplot::plot{'lmargin'}.$/; |
Line 1081 sub write_gnuplot_file {
|
Line 1139 sub write_gnuplot_file {
|
# tic scales |
# tic scales |
$gnuplot_input .= 'set ticscale '. |
$gnuplot_input .= 'set ticscale '. |
$Apache::lonplot::plot{'major_ticscale'}.' '.$Apache::lonplot::plot{'minor_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'}.$/; |
|
} |
|
# gridlayer |
|
$gnuplot_input .= 'set grid noxtics noytics front '.$/ |
|
if ($Apache::lonplot::plot{'gridlayer'} eq 'on'); |
|
|
# grid |
# grid |
$gnuplot_input .= 'set grid'.$/ if ($Apache::lonplot::plot{'grid'} eq 'on'); |
$gnuplot_input .= 'set grid'.$/ if ($Apache::lonplot::plot{'grid'} eq 'on'); |
# border |
# border |
Line 1169 sub write_gnuplot_file {
|
Line 1235 sub write_gnuplot_file {
|
($curve->{'linestyle'} eq 'xyerrorbars')) { |
($curve->{'linestyle'} eq 'xyerrorbars')) { |
$gnuplot_input.=' pointtype '.$curve->{'pointtype'}; |
$gnuplot_input.=' pointtype '.$curve->{'pointtype'}; |
$gnuplot_input.=' pointsize '.$curve->{'pointsize'}; |
$gnuplot_input.=' pointsize '.$curve->{'pointsize'}; |
|
} elsif ($curve->{'linestyle'} eq 'filledcurves') { |
|
$gnuplot_input.= ' '.$curve->{'limit'}; |
} |
} |
} elsif (exists($curve->{'data'})) { |
} elsif (exists($curve->{'data'})) { |
# Store data values in $datatext |
# Store data values in $datatext |
Line 1202 sub write_gnuplot_file {
|
Line 1270 sub write_gnuplot_file {
|
($curve->{'linestyle'} eq 'xyerrorbars')) { |
($curve->{'linestyle'} eq 'xyerrorbars')) { |
$gnuplot_input.=' pointtype '.$curve->{'pointtype'}; |
$gnuplot_input.=' pointtype '.$curve->{'pointtype'}; |
$gnuplot_input.=' pointsize '.$curve->{'pointsize'}; |
$gnuplot_input.=' pointsize '.$curve->{'pointsize'}; |
|
} elsif ($curve->{'linestyle'} eq 'filledcurves') { |
|
$gnuplot_input.= ' '.$curve->{'limit'}; |
} |
} |
} |
} |
} |
} |