HistographDoc.tioga
Copyright Ó 1986 by Xerox Corporation. All rights reserved.
Russ Atkinson (RRA) May 22, 1986 7:19:38 pm PDT
Introduction
A Histograph viewer displays a history graph of samples.
If historical = TRUE, then samples can be added (via AddSample) at any time and by any process (the data is properly monitorized). Each sample is added at the next X position. Only the most recent samples are displayed. Samples "older" than dataWidth are lost, and cannot be displayed regardless of the viewer width.
If historical = FALSE, then samples can be added (via StoreSample & ModifySample) at any time and by any process (the data is properly monitorized). The viewer is always wide enough to accomodate dataWidth samples.
The X-axis is linear, one sample per pixel, and is not labelled beyond periodic tick marks (period selected by the client). The X-axis will expand or contract depending on dataWidth and the viewer size. If the parent is a Container and childXbound = TRUE, then the right edge of the Histograph viewer will track the right edge of the Container viewer.
The Y-axis is labelled with positive REAL numbers as specified by the client, and can be either linear or logarithmic. Samples are clipped as necessary. Regardless of the scale, if the sample is <= 0.0 it is not displayed, and if the sample is > 0.0 then at least one pixel is used. When the Y-axis is logarithmic (vertiLog > 1), the maxSample parameter is the number at the top of the axis, and every tickY pixels down a number that is a factor of vertiLog less is displayed.
The title and subtitle are displayed on the left, with the title on top, and the subtitle underneath and slightly indented. The title uses the large font, and the subtitle uses the small font. All numbers displayed use the number font. The top number at the left is the last sample added, and the number below it is the exponentially declining average for historical viewers, and the average of all of the points for non-historical viewers.
The procedure HistographImpl.Test demonstrates how a program might use Histograph viewers. The figure below was produced by the following calls:
HistographImpl.Test[44, 120, 60]
HistographImpl.Test[22, 30]
HistographImpl.Test[11, 10]
[Artwork node; type 'ArtworkInterpress on' to command tool]