[LON-CAPA-cvs] cvs: loncom /interface loncommon.pm
matthew
lon-capa-cvs@mail.lon-capa.org
Tue, 02 Nov 2004 19:01:13 -0000
matthew Tue Nov 2 14:01:13 2004 EDT
Modified files:
/loncom/interface loncommon.pm
Log:
DrawBarGraph: Modified to produce better plots when there are 2 (or fewer)
data sets to plot.
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.224 loncom/interface/loncommon.pm:1.225
--- loncom/interface/loncommon.pm:1.224 Fri Oct 29 14:40:40 2004
+++ loncom/interface/loncommon.pm Tue Nov 2 14:01:12 2004
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.224 2004/10/29 18:40:40 raeburn Exp $
+# $Id: loncommon.pm,v 1.225 2004/11/02 19:01:12 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -3292,7 +3292,18 @@
if (! @Values || ref($Values[0]) ne 'ARRAY') {
return '';
}
+ #
+ my @Labels;
+ if (defined($labels)) {
+ @Labels = @$labels;
+ } else {
+ for (my $i=0;$i<@{$Values[0]};$i++) {
+ push (@Labels,$i+1);
+ }
+ }
+ #
my $NumBars = scalar(@{$Values[0]});
+ if ($NumBars < scalar(@Labels)) { $NumBars = scalar(@Labels); }
my %ValuesHash;
my $NumSets=1;
foreach my $array (@Values) {
@@ -3302,10 +3313,14 @@
}
#
my ($height,$width,$xskip,$bar_width) = (200,120,1,15);
- if ($NumBars < 5) {
- $width = 120+$NumBars*25;
+ if ($NumBars < 3) {
+ $width = 120+$NumBars*32;
$xskip = 1;
- $bar_width = 25;
+ $bar_width = 30;
+ } elsif ($NumBars < 5) {
+ $width = 120+$NumBars*20;
+ $xskip = 1;
+ $bar_width = 20;
} elsif ($NumBars < 10) {
$width = 120+$NumBars*15;
$xskip = 1;
@@ -3324,15 +3339,6 @@
$bar_width = 4;
}
#
- my @Labels;
- if (defined($labels)) {
- @Labels = @$labels;
- } else {
- for (my $i=0;$i<@{$Values[0]};$i++) {
- push (@Labels,$i+1);
- }
- }
- #
$Max = 1 if ($Max < 1);
if ( int($Max) < $Max ) {
$Max++;