Changeset 29740
- Timestamp:
- Nov 10, 2010, 9:58:39 AM (15 years ago)
- File:
-
- 1 edited
-
trunk/tools/czartool/Plotter.pm (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/czartool/Plotter.pm
r29727 r29740 55 55 } 56 56 57 58 ########################################################################### 59 # 60 # Figures out a suitable interval for rate plots 61 # Could use some kind of function here, but instead we want to choose meaningful intervals 62 # 63 ########################################################################### 64 sub getSuitableInterval { 65 my ($self, $begin, $end, $interval) = @_; 66 67 $begin = $self->{_czarDb}->getFullDate($begin); 68 $end = $self->{_czarDb}->getFullDate($end); 69 70 my $timeDiff = $self->{_czarDb}->diffTimes($end, $begin); 71 72 if ($self->{_czarDb}->isBefore($timeDiff, "00:00:01")) {return 0;} 73 elsif ($self->{_czarDb}->isBefore($timeDiff, "03:00:00")) {${$interval} = "15 MINUTE";} 74 elsif ($self->{_czarDb}->isBefore($timeDiff, "10:00:00")) {${$interval} = "30 MINUTE";} 75 elsif ($self->{_czarDb}->isBefore($timeDiff, "24:00:00")) {${$interval} = "1 HOUR";} # under 1 day 76 elsif ($self->{_czarDb}->isBefore($timeDiff, "36:00:00")) {${$interval} = "2 HOUR";} # under 1.5 days 77 elsif ($self->{_czarDb}->isBefore($timeDiff, "48:00:00")) {${$interval} = "3 HOUR";} # under 2 days 78 elsif ($self->{_czarDb}->isBefore($timeDiff, "72:00:00")) {${$interval} = "4 HOUR";} # under 3 days 79 elsif ($self->{_czarDb}->isBefore($timeDiff, "96:00:00")) {${$interval} = "5 HOUR";} # under 4 days 80 elsif ($self->{_czarDb}->isBefore($timeDiff, "144:00:00")) {${$interval} = "6 HOUR";} # under 6 days 81 elsif ($self->{_czarDb}->isBefore($timeDiff, "168:00:00")) {${$interval} = "12 HOUR";} # under week 82 elsif ($self->{_czarDb}->isBefore($timeDiff, "672:00:00")) {${$interval} = "1 DAY";} # under 2 week 83 elsif ($self->{_czarDb}->isBefore($timeDiff, "2016:00:00")) {${$interval} = "1 WEEK";} # under 3 month 84 else {${$interval} = "1 MONTH";} 85 86 return 1; 87 } 88 57 89 ########################################################################### 58 90 # … … 63 95 my ($self, $label, $selectedStage, $beginTime, $endTime, $interval, $isLog) = @_; 64 96 65 my $minX = 999999999; 66 my $maxX = -9999999999; 67 my $timeDiff = -1; 68 97 # stages 69 98 my $stages = undef; 70 71 99 if (!$selectedStage) { 72 100 $stages = \@allStages; 73 101 $selectedStage = 'all_stages'; 74 102 } 75 else {$stages = ["$selectedStage"]}; 76 77 $self->{_czarDb}->getTimeMinMaxDiff($label, "chip", $beginTime, $endTime, \$minX, \$maxX, \$timeDiff); 78 79 my $divX; 80 my $timeFormat; 81 $self->getTimeSpacing($timeDiff, \$divX, \$timeFormat); 82 103 else {$stages = ["$selectedStage"]}; 104 105 # interval 106 if (!$interval && !$self->getSuitableInterval($beginTime, $endTime, \$interval)) {return 0;} 107 108 # set up files 83 109 my %gnuplotFiles; 84 110 my $stage = undef; … … 94 120 "set term $self->{_outputFormat};" . 95 121 "set title \"'$label', '$selectedStage' during '$beginTime' to '$endTime'\";" . 96 #"set xdata time;" .97 "set timefmt \"$self->{_dateFormat}\";" .98 "set format x \"$timeFormat\";" .99 "set xtics \"$minX\", $divX, \"$maxX\";" .100 # "set xrange [\"$minX\":\"$maxX\"];" .101 122 "set boxwidth;" . 102 123 "set xtic rotate by -90 scale 0;" . … … 133 154 # now delete temp dat files 134 155 foreach my $stage (keys %gnuplotFiles) {unlink($gnuplotFiles{$stage});} 156 157 return 1; 135 158 } 136 159
Note:
See TracChangeset
for help on using the changeset viewer.
