Generating three-dimensional bar charts with unobscured blocks
First Claim
1. A method for generating a bar chart to display three-dimensional data values, comprising:
- receiving a set of three-dimensional data values to be displayed in the bar chart;
representing a first subset of three-dimensional data values from the set as a plurality of rectangular boxes projecting from a two-dimensional grid, each rectangular box having a height above the two-dimensional grid, so that a height of a given rectangular box bears a functional relationship to a three-dimensional data value being displayed by the given rectangular box;
wherein a first dimension and a second dimension of the three-dimensional data value specify a two-dimensional location within the two-dimensional grid, and a third dimension specifies the height of the given rectangular box above the two-dimensional grid;
representing a second subset of three-dimensional data values from the set as non-rectangular shapes projecting from the two-dimensional grid and interspersed between the plurality of rectangular boxes, each non-rectangular shape having a height above the two-dimensional grid, so that a height of a given non-rectangular shape bears a functional relationship to a three-dimensional data value being displayed by the given non-rectangular shape;
wherein interspersing the non-rectangular shapes between the plurality of rectangular boxes involves alternating the non-rectangular shapes with the plurality of rectangular boxes, so that larger data values represented by the non-rectangular shapes do not obscure smaller data values represented by the rectangular shapes;
computing a three-dimensional view of the two-dimensional grid, including the plurality of rectangular boxes and the non-rectangular shapes; and
outputting the three-dimensional view to a display device.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides a method and apparatus for generating three-dimensional bar charts by interspersing non-rectangular shapes amongst rectangular boxes so that the rectangular boxes and non-rectangular shapes tend not to obscure each other. To this end, one embodiment of the present invention provides a method that operates by receiving a set of data values to be displayed in the three-dimensional bar chart. The set of data values is divided into two subsets. A first subset is represented by rectangular boxes projecting from a two-dimensional grid, so that a height of a given box above the two-dimensional grid bears a functional relationship to a data value being displayed by the given box. A second subset is represented by non-rectangular shapes projecting from the two-dimensional grid, which are interspersed between the rectangular boxes, so that a height of a given non-rectangular shape bears a functional relationship to a data value being displayed by the given non-rectangular shape. The method also includes rendering a perspective view of the rectangular boxes and the non-rectangular shapes, and outputting the perspective view to a display device. One variation of the above embodiment alternates tetrahedra with rectangular boxes, wherein the tetrahedra are oriented so that a given tetrahedron is balanced on a lower edge, parallel to a left-right axis of the two-dimensional grid, with an upper orthogonal edge parallel to a fore-aft axis.
26 Citations
22 Claims
-
1. A method for generating a bar chart to display three-dimensional data values, comprising:
-
receiving a set of three-dimensional data values to be displayed in the bar chart;
representing a first subset of three-dimensional data values from the set as a plurality of rectangular boxes projecting from a two-dimensional grid, each rectangular box having a height above the two-dimensional grid, so that a height of a given rectangular box bears a functional relationship to a three-dimensional data value being displayed by the given rectangular box;
wherein a first dimension and a second dimension of the three-dimensional data value specify a two-dimensional location within the two-dimensional grid, and a third dimension specifies the height of the given rectangular box above the two-dimensional grid;
representing a second subset of three-dimensional data values from the set as non-rectangular shapes projecting from the two-dimensional grid and interspersed between the plurality of rectangular boxes, each non-rectangular shape having a height above the two-dimensional grid, so that a height of a given non-rectangular shape bears a functional relationship to a three-dimensional data value being displayed by the given non-rectangular shape;
wherein interspersing the non-rectangular shapes between the plurality of rectangular boxes involves alternating the non-rectangular shapes with the plurality of rectangular boxes, so that larger data values represented by the non-rectangular shapes do not obscure smaller data values represented by the rectangular shapes;
computing a three-dimensional view of the two-dimensional grid, including the plurality of rectangular boxes and the non-rectangular shapes; and
outputting the three-dimensional view to a display device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
selecting the second subset of three-dimensional data values by selecting data values that if viewed as a rectangular boxes would obscure other rectangular boxes in the perspective view; and
representing the second subset of three-dimensional data values as non-rectangular shapes that would not obscure the other rectangular boxes in the perspective view.
-
-
10. The method of claim 1, wherein the functional relationship is linear.
-
11. The method of claim 1, wherein the three-dimensional view includes a three-dimensional perspective view.
-
12. The method of claim 1, wherein computing the three-dimensional view includes rendering a bitmap of the three-dimensional view.
-
13. A method for generating a bar chart to display three-dimensional data values, comprising:
-
receiving a set of three-dimensional data values to be displayed in the bar chart;
representing a first subset of three-dimensional data values from the set as a plurality of rectangular boxes projecting from a two-dimensional grid, each rectangular box having a height above the two-dimensional grid, so that a height of a given rectangular box bears a functional relationship to a three-dimensional data value being displayed by the given rectangular box;
wherein a first dimension and a second dimension of the three-dimensional data value specify a two-dimensional location within the two-dimensional grid, and a third dimension specifies the height of the given rectangular box above the two-dimensional grid;
representing a second subset of three-dimensional data values from the set as non-rectangular shapes projecting from the two-dimensional grid and interspersed between the plurality of rectangular boxes, each non-rectangular shape having a height above the two-dimensional grid, so that a height of a given non-rectangular shape bears a functional relationship to a three-dimensional data value being displayed by the given non-rectangular shape;
wherein interspersing the non-rectangular shapes between the plurality of rectangular boxes involves alternating the non-rectangular shapes with the plurality of rectangular boxes, so that larger data values represented by the non-rectangular shapes do not obscure smaller data values represented by the rectangular shapes;
providing grid lines on at least one wall extending perpendicularly from the two-dimensional grid so that the heights of the plurality of rectangular boxes and the tetrahedra can be estimated with respect to the grid lines;
rendering a perspective view of the two-dimensional grid, including the plurality of rectangular boxes and the tetrahedra; and
outputting the perspective view to a display device.
-
-
14. A computer readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for generating a bar chart to display three-dimensional data values, comprising:
-
receiving a set of three-dimensional data values to be displayed in the bar chart;
representing a first subset of three-dimensional data values from the set as a plurality of rectangular boxes projecting from a two-dimensional grid, each rectangular box having a height above the two-dimensional grid, so that a height of a given rectangular box bears a functional relationship to a three-dimensional data value being displayed by the given rectangular box;
wherein a first dimension and a second dimension of the three-dimensional data value specify a two-dimensional location within the two-dimensional grid, and a third dimension specifies the height of the given rectangular box above the two-dimensional grid;
representing a second subset of three-dimensional data values from the set as non-rectangular shapes projecting from the two-dimensional grid and interspersed between the plurality of rectangular boxes, each non-rectangular shape having a height above the two-dimensional grid, so that a height of a given non-rectangular shape bears a functional relationship to a three-dimensional data value being displayed by the given non-rectangular shape;
wherein interspersing the non-rectangular shapes between the plurality of rectangular boxes involves alternating the non-rectangular shapes with the plurality of rectangular boxes, so that larger data values represented by the non-rectangular shapes do not obscure smaller data values represented by the rectangular shapes;
computing a three-dimensional view of the two-dimensional grid, including the plurality of rectangular boxes and the non-rectangular shapes; and
outputting the three-dimensional view to a display device.
-
-
15. An apparatus that generates a bar chart to display three-dimensional data values, comprising:
-
an input that receives a set of three-dimensional data values to be displayed in the bar chart;
a rectangular box generator that represents a first subset of three-dimensional data values from the set as a plurality of rectangular boxes projecting from a two-dimensional grid, each rectangular box having a height above the two-dimensional grid, so that a height of a given rectangular box bears a functional relationship to a three-dimensional data value being displayed by the given rectangular box;
wherein a first dimension and a second dimension of the three-dimensional data value specify a two-dimensional location within the two-dimensional grid, and a third dimension specifies the height of the given rectangular box above the two-dimensional grid;
a non-rectangular shape generator that represents a second subset of three-dimensional data values from the set as non-rectangular shapes projecting from the two-dimensional grid and interspersed between the plurality of rectangular boxes, each non-rectangular shape having a height above the two-dimensional grid, so that a height of a given non-rectangular shape bears a functional relationship to a three-dimensional data value being displayed by the given non-rectangular shape;
wherein the non-rectangular shape generator is configured to intersperse the non-rectangular shapes between the plurality of rectangular boxes by alternating the non-rectangular shapes with the plurality of rectangular boxes, so that larger data values represented by the non-rectangular shapes do not obscure smaller data values represented by the rectangular shapes;
a computing engine that computes a three-dimensional view of the two-dimensional grid, including the plurality of rectangular boxes and the non-rectangular shapes; and
a display device that displays the perspective view. - View Dependent Claims (16)
-
-
17. A method for displaying a bar chart of three-dimensional data values, comprising:
-
receiving a command to display the bar chart;
receiving a set of three-dimensional data values to be displayed in the bar chart;
representing a first subset of three-dimensional data values from the set as a plurality of rectangular boxes projecting from a two-dimensional grid, each rectangular box having a height above the two-dimensional grid, so that a height of a given rectangular box bears a functional relationship to a three-dimensional data value being displayed by the given rectangular box;
wherein a first dimension and a second dimension of the three-dimensional data value specify a two-dimensional location within the two-dimensional grid, and a third dimension specifies the height of the given rectangular box above the two-dimensional grid; and
representing a second subset of three-dimensional data values from the set as non-rectangular shapes projecting from the two-dimensional grid and interspersed between the plurality of rectangular boxes, each non-rectangular shape having a height above the two-dimensional grid, so that a height of a given non-rectangular shape bears a functional relationship to a three-dimensional data value being displayed by the given non-rectangular shape;
wherein interspersing the non-rectangular shapes between the plurality of rectangular boxes involves alternating the non-rectangular shapes with the plurality of rectangular boxes, so that larger data values represented by the non-rectangular shapes do not obscure smaller data values represented by the rectangular shapes. - View Dependent Claims (18, 19)
-
-
20. A method for displaying a bar chart of three-dimensional data values, comprising:
-
receiving a command to display the bar chart;
receiving a set of three-dimensional data values to be displayed in the bar chart;
representing a first subset of three-dimensional data values from the set as a first shape projecting from a two-dimensional grid, each first shape having a height above the two-dimensional grid, so that a height of a given first shape bears a functional relationship to a three-dimensional data value being displayed by the given first shape;
wherein a first dimension and a second dimension of the three-dimensional data value specify a two-dimensional location within the two-dimensional grid, and a third dimension specifies the height of the given rectangular box above the two-dimensional grid; and
representing a second subset of three-dimensional data values from the set as a second shape projecting from the two-dimensional grid and interspersed between the first shapes, each second shape having a height above the two-dimensional grid, so that a height of a given second shape bears a functional relationship to a three-dimensional data value being displayed by the given second shape;
wherein interspersing the second shapes between the first shapes involves alternating the second shapes with the first shapes, so that larger data values represented by the non-rectangular shapes do not obscure smaller data values represented by the rectangular shapes.
-
-
21. A method for generating a bar chart of three-dimensional data values, comprising:
-
receiving a set of three-dimensional data values to be displayed in the bar chart;
representing the set of three-dimensional data values as a plurality of shapes projecting from a two-dimensional grid, each shape in the plurality having a height above the two-dimensional grid, so that a height of a given shape bears a functional relationship to a three-dimensional data value being displayed by the given shape, so that shapes representing larger data values represented by non-rectangular shapes do not obscure shapes representing smaller data values;
wherein a first dimension and a second dimension of the three-dimensional data value specify a two-dimensional location within the two-dimensional grid, and a third dimension specifies the height of the given shape above the two-dimensional grid;
wherein the plurality of shapes includes at least one tetrahedron balanced on a lower edge, parallel to a left-right axis of the two-dimensional grid, with an upper orthogonal edge parallel to a fore-aft axis computing a three-dimensional view of the two-dimensional grid, including the plurality of shapes; and
outputting the three-dimensional view to a display device.
-
-
22. A method for generating a bar chart of three-dimensional data values, comprising:
-
receiving a set of three-dimensional data values to be displayed in the bar chart;
representing a first subset of three-dimensional data values from the set as a plurality of tetrahedra projecting from a two-dimensional grid, each tetrahedron having a height above the two-dimensional grid, so that a height of a given tetrahedron bears a functional relationship to a three-dimensional data value being displayed by the given tetrahedron;
representing a second subset of three-dimensional data values from the set as a plurality of non-tetrahedral shapes projecting from the two-dimensional grid and interspersed between the plurality of tetrahedra, each non-tetrahedral shape having a height above the two-dimensional grid, so that a height of a given non-tetrahedral shape bears a functional relationship to a three-dimensional data value being displayed by the given non-tetrahedral shape;
wherein interspersing the non-tetrahedral shapes between the plurality of tetrahedra involves alternating the non-tetrahedral shapes with the plurality of tetrahedra, so that smaller data values represented by the non-tetrahedral shapes are not obscured by larger data values represented by the tetrahedral shapes;
wherein a first dimension and a second dimension of the three-dimensional data value specify a two-dimensional location within the two-dimensional grid, and a third dimension specifies the height of the given non-tetrahedral shape above the two-dimensional grid;
computing a three-dimensional view of the two-dimensional grid, including the plurality of tetrahedra and the plurality of non-tetrahedral shapes; and
outputting the three-dimensional view to a display device.
-
Specification