# US 2016/0196673 A1 · Methods and apparatus for data visualization of hierarchical data structures

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2016/0196673 A1
- Document ID: US20160196673A1
- Status: Published application
- Kind: A1
- Application number: 14/989,546
- Filed: 2016-01-06
- Published: 2016-07-07
- Earliest claimed: 2012-03-28
- Assignees: Technomics, Inc.
- Applicants: Technomics, Inc.
- Inventors: Robert Kenneth NEHRING; Katharine Alexandra MANN; Robert Raymond JONES
- Web page: https://patentgrep.com/patent/US20160196673A1

## CPC

- G06T 11/26: Drawing of charts or graphs
- G06T 11/60: Creating or editing images; Combining images with text
- G06T 15/00: Three-dimensional [3D] image rendering
- G06T 19/20: Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Methods and apparatuses for creating an output graphic using a processing device may include receiving one or more elements of a hierarchical data structure, wherein each of the one or more elements includes a value. In addition, the methods and apparatuses may include calculating a total value for the hierarchical data structure by adding the value from the one or more elements and creating relationships that associate the one more elements with the total value. The methods and apparatuses may also include generating a diagram to illustrate the total value and the relationships among the one or more elements and the total value and transmitting the diagram for presentation on a display.

## Claims

### Claim at position 1

1-24. (canceled)

### Claim 25

A method for creating an output graphic using a processing device, the method comprising:
receiving one or more elements of a hierarchical data structure, wherein each of the one or more elements includes a value;
calculating, via the processing device, a total value for the hierarchical data structure by adding the value from the one or more elements;
creating, via the processing device, relationships that associate the one more elements with the total value;
generating, via the processing device, a diagram to illustrate the total value and the relationships among the one or more elements and the total value; and
the processing device transmitting the diagram for presentation on a display,
wherein generating the diagram further includes:
drawing a shape for each of the one or more elements of the hierarchical data structure;
determining an area of a parent shape based on the total value of the hierarchical data structure;
calculating a measurement of the parent shape;
drawing a parent shape based on the measurement;
inserting a parent shape label in the parent shape;
determining children of the parent shape based on the one or more elements of the hierarchical data structure;
calculating for each child of the parent shape a percentage the child is of the total value of the hierarchical data structure;
calculating for each child an area of the child shape based on the hierarchical data structure and a measurement for the child shape;
calculating an angle increment for spacing the children shapes around the parent shape;
selecting a largest shape of the children shapes and drawing the largest shape directly adjacent to the parent shape; and
drawing remaining children shapes largest to smallest around the parent and using the angle increment for spacing among the remaining shapes.

### Claim 26 (depends on 25)

The method of claim 25, wherein the shape has a two dimensional or a three dimensional appearance.

### Claim 27 (depends on 25)

The method of claim 25, wherein the shape comprises at least one selected from a group consisting of a circle, a triangle, a square, a rectangle, a pentagon, and a hexagon.

### Claim 28 (depends on 25)

The method of claim 25, further comprising:
connecting each child shape to the parent shape with a line;
inserting a child shape label in each child shape; and
applying the percentage the child is of the total value of the hierarchal data structure to the parent shape label.

### Claim 29 (depends on 28)

The method of claim 28, further comprising:
determining for each child shape, whether the child shape has any children based on the one or more elements of the hierarchical data structure; and
when the child shape does have children:
calculating for each child of the child shape a percentage the child is of the total value of the hierarchical data structure;
calculating for each child an area of the child shape based on the hierarchical data structure and a measurement for the child shape;
calculating an angle increment for spacing the children shapes around the child shape;
selecting a largest shape of the children shapes and drawing the largest shape 180 degrees from where the parent shape connects to the child shape; and
drawing remaining children shapes largest to smallest around the child and using the angle increment for spacing among the remaining shapes.

### Claim 30 (depends on 25)

The method of claim 25, further comprising:
receiving a second hierarchical data structure with one or more elements;
generating a second diagram illustrating a total value of the hierarchical data structure and relationships among the one or more elements of the second hierarchical data structure and the value;
transmitting the second diagram for presentation next to the diagram on the display.

### Claim 31 (depends on 25)

The method of claim 25, further comprising:
receiving a second hierarchical data structure with one or more elements;
generating a second diagram illustrating a total value of the hierarchical data structure and relationships among the one or more elements of the second hierarchical data structure and the value;
transmitting the second diagram for presentation on the display,
wherein the second diagram illustrates the one or more elements of the second hierarchical data structure using dashed or shaded shapes, and
wherein the second diagram is superimposedly viewable with the diagram.

### Claim 32 (depends on 31)

The method of claim 31, wherein the second hierarchical data structure and the hierarchical data structure have a similar structure.

### Claim 33 (depends on 25)

The method of claim 25, wherein a plurality of diagrams are generated over a period of time for the hierarchical data structure; and
the processing device transmits the plurality of diagrams for presentation chronologically on the display.

### Claim 34

A system for creating an output graphic using a processing device, the system comprising:
a component operable to receive one or more elements of a hierarchical data structure, wherein each of the one or more elements includes a value;
a component operable to calculate a total value for the hierarchical data structure by adding the value from the one or more elements;
a component operable to create relationships that associate the one more elements with the total value;
a component operable to generate a diagram to illustrate the total value and the relationships among the one or more elements and the total value; and
a component operable to transmit the diagram for presentation on a display or printing device,
wherein the component operable to generate a diagram is further operable to:
draw a shape for each of the one or more elements of the hierarchical data structure;
determine an area of a parent shape based on the total value of the hierarchical data structure;
calculate a measurement of the parent shape;
draw a parent shape based on the measurement;
insert a parent shape label in the parent shape;
determine children of the parent shape based on the one or more elements of the hierarchical data structure;
calculate for each child of the parent shape a percentage the child is of the total value of the hierarchical data structure;
calculate for each child an area of the child shape based on the hierarchical data structure and a measurement for the child shape;
calculate an angle increment for spacing the children shapes around the parent shape;
select a largest shape of the children shapes and draw the largest shape adjacent to the parent shape; and
draw remaining children shapes largest to smallest around the parent and to use the angle increment for spacing among the remaining shapes.

### Claim 35 (depends on 34)

The system of claim 34, wherein the shape has a two dimensional or a three dimensional appearance.

### Claim 36 (depends on 34)

The system of claim 34, wherein the shape comprises at least one selected from a group consisting of a circle, a triangle, a square, a rectangle, a pentagon, and a hexagon.

### Claim 37 (depends on 34)

The system of claim 34, further comprising:
a component operable to connect each child shape to the parent shape with a line;
a component operable to insert a child shape label in each child shape; and
a component operable to apply the percentage the child is of the total value of the hierarchal data structure to the parent shape label.

### Claim 38 (depends on 37)

The system of claim 37, further comprising:
a component operable to determine for each child shape, whether the child shape has any children based on the one or more elements of the hierarchical data structure.

### Claim 39 (depends on 38)

The system of claim 38, wherein when the child shape does have children, the system further comprising:
a component operable to calculate for each child of the child shapes a percentage the child is of the total value of the hierarchical data structure;
a component operable to calculate for each child an area of the child shape based on the hierarchical data structure and a measurement for the child shape;
a component operable to calculate an angle increment for spacing the children shapes around the child shape;
a component operable to select a largest shape of the children shapes and to draw the largest shape 180 degrees from where the parent shape connects to the child shape; and
a component operable to draw remaining children shapes largest to smallest around the child and to use the angle increment for spacing among the remaining shapes.

### Claim 40

A computer program product comprising a non-transitory computer usable medium having control logic stored therein for causing a computer to create an output graphic, the control logic comprising:
at least one instruction for causing a computer to receive one or more elements of a hierarchical data structure, wherein each of the one or more elements includes a value;
at least one instruction for causing the computer to calculate a total value for the hierarchical data structure by adding the value from the one or more elements;
at least one instruction for causing the computer to create relationships that associate the one more elements with the total value;
at least one instruction for causing the computer to generate a diagram to illustrate the total value and the relationships among the one or more elements and the total value; and
at least one instruction for causing the computer to transmit the diagram for presentation on a display or a printer,
wherein the at least one instruction for causing the computer to generate a diagram further includes:
at least one instruction for causing the computer to draw a shape for each of the one or more elements of the hierarchical data structure;
at least one instruction for causing the computer to determine an area of a parent shape based on the total value of the hierarchical data structure;
at least one instruction for causing the computer to calculate a measurement of the parent shape;
at least one instruction for causing the computer to draw a parent shape based on the measurement;
at least one instruction for causing the computer to insert a parent shape label in the parent shape;
at least one instruction for causing the computer to determine children of the parent shape based on the one or more elements of the hierarchical data structure;
at least one instruction for causing the computer to calculate for each child of the parent shape a percentage the child is of the total value of the hierarchical data structure;
at least one instruction for causing the computer to calculate for each child an area of the child shape based on the hierarchical data structure and a measurement for the child shape;
at least one instruction for causing the computer to calculate an angle increment for spacing the children shapes around the parent shape;
at least one instruction for causing the computer to select a largest shape of the children shapes and draw the largest shape adjacent to the parent shape; and
at least one instruction for causing the computer to draw remaining children shapes largest to smallest around the parent and to use the angle increment for spacing among the remaining shapes.

### Claim 41 (depends on 40)

The computer program product of claim 40, wherein the shape has a two dimensional or a three dimensional appearance.

### Claim 42 (depends on 40)

The computer program product of claim 40, wherein the shape comprises at least one selected from a group consisting of a circle, a triangle, a square, a rectangle, a pentagon, and a hexagon.

### Claim 43 (depends on 32)

The method of claim 32, wherein the second hierarchical data structure and the hierarchical data structure have different values.
