Method and apparatus for time series graph display
First Claim
1. A machine for producing a rendering of a line graph onto a display medium comprising:
- (a) a display medium for displaying a rendering of the graph for viewing by user;
(b) a data storage device which is able to store information describing the location in graph space of various graph points, axis domains, tick axes, tick values, bounding rectangles; and
(c) a controller capable of rendering images onto said display medium;
(d) a plurality of tick value spacings stored in said data storage device;
(e) means for mapping from locations in graph space to corresponding locations upon said display medium;
(f) means for collecting a first coordinate value and a second coordinate values of each of a plurality of graph points and storing the coordinate values into said data storage device;
(g) means for determining the locations in graph space of a first boundary line and a second boundary line of each of a plurality of nonoverlapping axis domains and storing data describing said locations into said data storage device;
(h) means for calculating a position of each of a plurality of tick axes and storing into said data storage device data associating each of said positions in one to one relation with said axis domains such that said tick axes are parallel to the boundary lines of said axis domains;
(i) means for partitioning said graph points into subsets comprising;
(1) means for retrieving said first coordinate value for each of said graph points from said data storage device;
(2) means for determining within which of said axis domains said graph point is located by comparing said first coordinate with said locations of said first boundary line and said second boundary line of one or more of said axis domains;
(3) means for storing data into said data storage device indicating which of said axis domains said graph point lies within;
(j) means for selecting a font size suited to rendering tick labels on said display medium;
(k) means for selecting a tick spacing conducive to legible rendering of adjacent tick labels;
(l) means for composing a set of tick values for each of said axis domains whereby for each of said graph points within each of said axis domains, the smallest multiple of said tick spacing larger than said second coordinate value of such graph points and the largest multiple of said tick spacing smaller than said second coordinate value of such graph points is placed into said set of tick values, as well as said second coordinate value of such graph points, if said second coordinate value is a multiple of said tick spacing;
(m) means for computing a plurality of exclusion rectangles, each of said exclusion rectangles being associated with one of said axis domains;
(n) means for determining which of said set of tick values should not be rendered onto said display medium; and
(o) means for rendering comprising;
(1) means for communicating information from memory;
(2) means for mapping from information to display positions; and
(3) means for rendering images representing values, lines, etc onto said display medium, whereby said rendering of said line graph is rendered onto said display medium in such a way that a person viewing said rendering can readily perceive the contour of said line graph and estimate the x and y values of said graph points.
3 Assignments
0 Petitions
Accused Products
Abstract
A novel technique for annotating a time series graph with embedded tick marks and grid lines and method for selecting and placing such tick marks and lines within such graph. This method allows for the creation of large time series graphs that allow simultaneous perception of graph trends and features as well as the visual estimation of the values of graph point(s). Graphs produced by this method do not require the excessive user effort, time, or manipulation of graphical user interface affordances that are entailed in these two perceptual tasks with graphs annotated using prior art methods. Additionally, this method allows for minimal visual clutter of the graph.
114 Citations
18 Claims
-
1. A machine for producing a rendering of a line graph onto a display medium comprising:
-
(a) a display medium for displaying a rendering of the graph for viewing by user;
(b) a data storage device which is able to store information describing the location in graph space of various graph points, axis domains, tick axes, tick values, bounding rectangles; and
(c) a controller capable of rendering images onto said display medium;
(d) a plurality of tick value spacings stored in said data storage device;
(e) means for mapping from locations in graph space to corresponding locations upon said display medium;
(f) means for collecting a first coordinate value and a second coordinate values of each of a plurality of graph points and storing the coordinate values into said data storage device;
(g) means for determining the locations in graph space of a first boundary line and a second boundary line of each of a plurality of nonoverlapping axis domains and storing data describing said locations into said data storage device;
(h) means for calculating a position of each of a plurality of tick axes and storing into said data storage device data associating each of said positions in one to one relation with said axis domains such that said tick axes are parallel to the boundary lines of said axis domains;
(i) means for partitioning said graph points into subsets comprising;
(1) means for retrieving said first coordinate value for each of said graph points from said data storage device;
(2) means for determining within which of said axis domains said graph point is located by comparing said first coordinate with said locations of said first boundary line and said second boundary line of one or more of said axis domains;
(3) means for storing data into said data storage device indicating which of said axis domains said graph point lies within;
(j) means for selecting a font size suited to rendering tick labels on said display medium;
(k) means for selecting a tick spacing conducive to legible rendering of adjacent tick labels;
(l) means for composing a set of tick values for each of said axis domains whereby for each of said graph points within each of said axis domains, the smallest multiple of said tick spacing larger than said second coordinate value of such graph points and the largest multiple of said tick spacing smaller than said second coordinate value of such graph points is placed into said set of tick values, as well as said second coordinate value of such graph points, if said second coordinate value is a multiple of said tick spacing;
(m) means for computing a plurality of exclusion rectangles, each of said exclusion rectangles being associated with one of said axis domains;
(n) means for determining which of said set of tick values should not be rendered onto said display medium; and
(o) means for rendering comprising;
(1) means for communicating information from memory;
(2) means for mapping from information to display positions; and
(3) means for rendering images representing values, lines, etc onto said display medium, whereby said rendering of said line graph is rendered onto said display medium in such a way that a person viewing said rendering can readily perceive the contour of said line graph and estimate the x and y values of said graph points. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A process for producing a rendering of a line graph onto a display medium comprising:
-
(a) collecting first and second coordinate values of a plurality of graph points;
(b) providing a display medium onto which a rendering of said graph points, depicted as a line graph, can be rendered;
(c) dividing the graph space into a plurality of nonoverlapping axis domains, each of said axis domains having a first boundary and second boundary, said boundaries both parallel to the second coordinate axis;
(d) associating a plurality of tick axes in one to one relation with said axis domains;
(e) calculating initial positions in graph space of said tick axes, each tick axis being parallel to the second coordinate axis and located centrally between said first boundary and said second boundary of the axis domain with which said tick axis is associated;
(f) partitioning said series of graph points into subsets, in such a way that for every pair of said graph points, said pair will both be placed into the same subset if and only if said pair both lie within the same axis domain in graph space;
(g) adjusting the positions of each of said tick axes so each of said positions lies exactly between the nearest of said graph points in the direction of said tick axis'"'"'s associated axis domain'"'"'s first boundary and the nearest of said graph points in the direction of said tick axis'"'"'s associated axis domain'"'"'s second boundary in graph space, assuming both such graph points exist;
(h) selecting a font size suitable for rendering tick labels on said display medium;
(i) selecting a tick spacing conducive to legible rendering of adjacent tick labels disposed with a reading direction parallel to the first coordinate axis and separated from one another in the direction of the second axis in a suitable depiction of said line graph using said font on said display medium;
(j) for each of said axis domains, composing a set of tick values for each of said axis domains whereby for each of said graph points within each of said axis domains, the smallest multiple of said tick spacing larger than said second coordinate value of such graph points and the largest multiple of said tick spacing smaller than said second coordinate value of such graph points is placed into said set of tick values, as well as said second coordinate value of such graph points, if said second coordinate value is a multiple of said tick spacing;
(k) for each of axis domains, adding to said set of tick values any values which would be advantageous to include in said rendering;
(l) for each of said tick axes, computing an exclusion rectangle associated with one of said tick axes;
(m) for each of said tick axes, determining which tick values from each of said sets of tick values associated with said tick axis should not be rendered; and
(n) rendering the line graph onto said display medium, whereby said line graph is rendered onto said display medium in such a way that a person viewing said rendering can readily perceive the contour of said line graph and estimate the x and y values of said graph points. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for rendering a line graph onto a display medium comprising the following steps:
-
(a) collecting first and second coordinate values of a plurality of graph points;
(b) providing a display medium onto which a rendering of the graph points, depicted as a line graph, can be rendered;
(c) dividing the graph space into a plurality of nonoverlapping axis domains, each of the axis domains having a first boundary and second boundary, the boundaries both parallel to the second coordinate axis;
(d) associating a plurality of tick axes in one to one relation with the axis domains;
(e) calculating initial positions in graph space of the tick axes, each tick axis being parallel to the second coordinate axis and located centrally between the first boundary and the second boundary of the axis domain with which the tick axis is associated;
(f) partitioning the series of graph points into subsets, in such a way that for every pair of graph points, the pair will both be placed into the same subset if and only if the pair both lie within the same axis domain in graph space;
(g) adjusting the positions of each of the tick axes so each of the positions lies exactly between the nearest of the graph points in the direction of the tick axis'"'"' associated axis domain'"'"'s first boundary and the nearest of the graph points in the direction of the tick axis'"'"' associated axis domain'"'"'s second boundary in graph space, assuming both such graph points exist;
(h) selecting a font size suitable for rendering tick labels on the display medium;
(i) selecting a tick spacing conducive to legible rendering of adjacent tick labels disposed with a reading direction parallel to the first coordinate axis and separated from one another in the direction of the second axis in a suitable depiction of the line graph using the font on the display medium;
(j) for each of the axis domains, composing a set of tick values for each of the axis domains whereby for each of the graph points within each of the axis domains, the smallest multiple of tick spacing larger than the second coordinate value of such graph points and the largest multiple of tick spacing smaller than the second coordinate value of such graph points is placed into the set of tick values, as well as the second coordinate value of such graph points, if the second coordinate value is a multiple of the tick spacing;
(k) for each of axis domains, adding to the set of tick values any values which would be advantageous to include in the rendering;
(l) for each of the tick axes, computing an exclusion rectangle associated with one of the tick axes;
(m) for each of the tick axes, determining which tick values from each of the sets of tick values associated with the tick axis should not be rendered; and
(n) rendering the line graph onto the display medium, whereby the line graph is rendered onto the display medium in such a way that a person viewing the rendering can readily perceive the contour of the line graph and estimate the x and y values of the graph points.
-
Specification