/usr/share/doc/gri/html/RunningMeans.html is in gri-html-doc 2.12.23-9build2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Gri: running means</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
<body bgcolor="#FFFFFF" text="#000000" link="#0000EE" vlink="#551A8B" alink="FF0000">
<!-- newfile RunningMeans.html "Gri: running means" "Examples" -->
<!-- @node Running Means, Finite Element Model Mesh, PDF Diagram, Examples -->
<a name="RunningMeans" ></a>
<img src="./resources/top_banner.gif" alt="navigation map" usemap="#navigate_top" border="0">
<table summary="top banner" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="150" valign="top">
<font size=-1>
<br>
Chapters:
<br>
<a href="Introduction.html">1: Introduction</a><br>
<a href="SimpleExample.html">2: Simple example</a><br>
<a href="InvokingGri.html">3: Invocation</a><br>
<a href="GettingMoreControl.html">4: Finer Control</a><br>
<a href="X-Y.html">5: X-Y Plots</a><br>
<a href="ContourPlots.html">6: Contour Plots</a><br>
<a href="Images.html">7: Image Plots</a><br>
<a href="Examples.html">8: Examples</a><br>
<a href="Commands.html">9: Gri Commands</a><br>
<a href="Programming.html">10: Programming</a><br>
<a href="Environment.html">11: Environment</a><br>
<a href="Emacs.html">12: Emacs Mode</a><br>
<a href="History.html">13: History</a><br>
<a href="Installation.html">14: Installation</a><br>
<a href="Bugs.html">15: Gri Bugs</a><br>
<a href="TestSuite.html">16: Test Suite</a><br>
<a href="GriInThePress.html">17: Gri in Press</a><br>
<a href="Acknowledgments.html">18: Acknowledgments</a><br>
<a href="License.html">19: License</a><br>
<br>
Indices:<br>
<a href="ConceptIndex.html"><i>Concepts</i></a><br>
<a href="CommandIndex.html"><i>Commands</i></a><br>
<a href="BuiltinIndex.html"><i>Variables</i></a><br>
</font>
<td width="500" valign="top">
<map name="navigate_top">
<area alt="index.html#Top" shape="rect" coords="5,2,218,24" href="index.html#Top">
<area alt="Examples.html#Examples" shape="rect" coords="516,2,532,24" href="Examples.html#Examples">
<area alt="Gri: PDF Diagram" shape="rect" coords="557,2,573,24" href="PDFDiagram.html">
<area alt="Gri: Finite Element Model mesh" shape="rect" coords="581,2,599,24" href="FEM.html">
</map>
<map name="navigate_bottom">
<area alt="index.html#Top" shape="rect" coords="5,2,218,24" href="index.html#Top">
<area alt="Gri: Finite Element Model mesh" shape="rect" coords="581,2,599,24" href="FEM.html">
</map>
<h2>8.10: Running-Mean Skyline Diagram</h2>
Timeseries data are often cast into running means; e.g. a temperature
record might be cast into monthly mean values. The following example
shows how to use a perl script to accomplish this easily, producing a
graph with both the raw data (bullets) and the running mean (a skyline
plot).
<p>
<TABLE SUMMARY="Example" BORDER="0" BGCOLOR="#efefef" WIDTH="100%">
<TR>
<TD>
<PRE>
<font color="#82140F">
`Bin with x .min. .max. .inc. \in_file \out_file'
<p>
Creates \out_file from \in_file. In each of these
files, column 1 represents x and column 2 represents
y. The \out_file file contains the average values
of y in x bands of width .inc., centred at .min.,
(.min.+.inc.), up to .max, and with missing values
inserted in bands with no x-data in \in_file.
Each x-band is represented in \out_file by a
plateau in y, and adjacent bands with
non-missing data are connnected by vertical
lines; the effect is a skyline plot of the
banded means. Sample application: plot
monthly means of a variable.
{
if {rpn \.words. 8 !=}
show "ERROR: `\.proper_usage.' called without"
show " giving all parameters"
quit 1
end if
system perl <<"EOF"
$min = \.word3.;
$max = \.word4.;
$inc = \.word5.;
open(IN, "\.word6.")
|| die "`\.proper_usage': no \\in_file";
open(OUT, ">\.word7.")
|| die "`\.proper_usage': no \\out_file";
<p>
$n = ($max - $min) / $inc;
#
# Set up bins.
for($i = 0; $i <= $n; $i++) {
$xx[$i] = 0;
$yy[$i] = 0;
$nn[$i] = 0;
}
while(<IN>) {
($x, $y) = split(' ');
$i = int(0.5 + ($x - $min) / $inc);
$i = 0 if $i < 0;
$i = $n - 1 if $i > $n - 1;
$xx[$i] += $x;
$yy[$i] += $y;
$nn[$i]++;
}
for($i = 0; $i <= $n; $i++) {
if ($nn[$i] > 0) {
$xx[$i] /= $nn[$i];
$yy[$i] /= $nn[$i];
$xleft = $min + $inc * ($i - 0.5);
$xright = $min + $inc * ($i + 0.5);
#
# If datum to left non-missing,
# just draw vertical line
# down to the last yy value.
if ($i > 0 && $nn[$i - 1] > 0) {
print OUT "$xleft $yy[$i - 1]\n";
} else {
print OUT "$xleft \.missingvalue.\n"
}
print OUT "$xleft $yy[$i]\n";
print OUT "$xright $yy[$i]\n";
}
}
EOF
}
<p>
# Bin into months
Bin with x 1964 1974 {rpn 1 12 /} \
timeseries.dat tmp.dat
open tmp.dat
read columns x y
close
draw curve # skyline of means
open timeseries.dat
read columns x y
close
draw symbol bullet # data
system rm -f tmp.dat # clean up
</font></PRE>
</TD>
</TR>
</TABLE>
<p>
</table>
<img src="./resources/bottom_banner.gif" alt="navigation map" usemap="#navigate_bottom" border="0">
</body>
</html>
|