# US 10,482,636 B2 · Data visualization methods

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

- Number: US 10,482,636 B2
- Document ID: US10482636B2
- Status: Granted
- Kind: B2
- Application number: 15/636,184
- Filed: 2017-06-28
- Published: 2017-12-21
- Granted: 2019-11-19
- Earliest claimed: 2008-11-15
- Assignees: New BIS Safe Luxco S.à r.l
- Applicants: New BIS Safe Luxco S.à.r.l.
- Inventors: Andrew John Cardno; Peter Stewart Ingham; Bart Andrew Lewin; Ashok Kumar Singh
- Web page: https://patentgrep.com/patent/US10482636B2

## CPC

- G06T 11/26: Drawing of charts or graphs
- G06F 16/34: Browsing; Visualisation therefor (browsing or visualisation for clustering or classification G06F16/358)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method of creating a graphical representation of data points in the form of a heatmap wherein the heatmap represents a plurality of multi-directional flow values between the data points, the method including the steps of: positioning data points on a heatmap for graphical representation, calculating bi-directional flow values between at least a first and second data point, determining the intensity and direction of a predominant flow from the bi-directional flow values, and graphically representing the predominant flow and bi-directional flows between the data points in the heatmap.

## Claims

### Claim 1

A method of creating a graphical representation of data points in the form of a heatmap wherein the heatmap represents a plurality of multi-directional flow values between the data points, the method including the steps of:
positioning data points at respective data point locations on a heatmap for graphical representation;
calculating bi-directional flow values between data points, at least two data points having bi-directional flow values to at least two other data points;
determining the intensity and direction of a predominant flow from the bi-directional flow values;
calculating weighted heat values for an area on the heatmap based on the bi-directional flow values near the area, the distance the bi-directional flow values are from the area and flow start values for the data points;
for each data point, representing flow start values at the respective data point by calculating respective conical data distribution values around the respective data point based on the flow start value associated with the respective data point, wherein each conical distribution comprises a set of locations and a unique distribution value corresponding to each location in a respective region centered on the respective data point location;
for each data point, determining whether the calculated respective conical data distribution values of other data points at the respective data point location are greater than the flow start value associated with the respective data point;
upon a positive determination, calculating inverse conic data distribution values around the respective data point based on the flow start value associated with the respective data point; and
graphically representing the predominant flow, the bi-directional flows between the data points, the calculated weighted heat values, the calculated conical data distribution values and the calculated inverse conic data distribution values in the heatmap.

### Claim 2 (depends on 1)

The method of claim 1, further including the step of calculating the weighted heat values by calculating a weighted distance function.

### Claim 3 (depends on 2)

The method of claim 2, wherein the weighted distance function is an inverse distance weighted (IDW) function.

### Claim 4 (depends on 1)

The method of claim 1, further including the step of:
calculating a trapezoid distribution between the first and second data point, where the length of the parallel surfaces of the trapezoid distribution at the data points is based on the value of the calculated flow emanating from each represented data point.

### Claim 5 (depends on 1)

The method of claim 1, further including the step of:
calculating a triangular prism distribution between the first and second data point, where the height of the triangular prism at each data point is based on the value of the calculated flow emanating from each represented data point.

### Claim 6 (depends on 5)

The method of claim 5, wherein the prism height corresponds to one or more of a range of colors or shadings.

### Claim 7 (depends on 1)

The method of claim 1, wherein the conical data distribution values are calculated by applying one of a frustoconical distribution, an exact conical distribution or a skewed conical distribution to the data value.

### Claim 8 (depends on 7)

The method of claim 7, wherein the inverse conical data distribution values are calculated by applying one of an inverse frustoconical distribution, an exact inverse conical distribution or a skewed inverse conical distribution to the data value.

### Claim 9 (depends on 1)

The method of claim 1, wherein the inverse conical data distribution values are calculated by applying one of an inverse frustoconical distribution, an exact inverse conical distribution or a skewed inverse conical distribution to the data value.

### Claim 10

A graphical computing system for creating a graphical representation of data points in the form of a heatmap wherein the heatmap represents a plurality of multi-directional flow values between the data points, the system including:
a processor;
a memory device;
a node determination module executable by the processor arranged to position data points at respective data point locations on a heatmap for graphical representation;
a flow determination module executable by the processor arranged to calculate bi-directional flow values between data points, at least two data points having bi-directional flow values to at least two other data points;
a heat determination module executable by the processor arranged to calculate the intensity and direction of a predominant flow from the bi-directional flow values and further arranged to calculate weighted heat values for an area on the heatmap based on the bi-directional flow values near the area, the distance the bi-directional flow values are from the area and flow start values for the data points;
a cone generation module executable by the processor arranged for each data point to represent flow start values at each respective data point by calculating respective conical data distribution values around the respective data point based on the flow start value associated with the respective data point, wherein each conical distribution comprises a set of locations and a unique distribution value corresponding to each location in a respective region centered on the respective data point location, wherein the cone generation module executable by the processor is further arranged to for each data point determine whether the calculated respective conical data distribution values of other data points at the respective data point location are greater than the flow start value associated with the respective data point, and upon a positive determination, calculate inverse conic data distribution values around the respective data point based on the flow start value associated with the respective data point; and
a rendering module executable by the processor arranged to graphically represent the predominant flow, bi-directional flows between the data points, the calculated weighted heat values, the calculated conical data distribution values and the calculated inverse conic data distribution values in the heatmap.

### Claim 11 (depends on 10)

The system of claim 10, wherein the heat determination module executable by the processor is further arranged to calculate the weighted heat values by calculating a weighted distance function.

### Claim 12 (depends on 11)

The system of claim 11, wherein the weighted distance function is an inverse distance weighted (IDW) function.

### Claim 13 (depends on 10)

The system of claim 10, wherein the heat determination module executable by the processor is further arranged to calculate a trapezoid distribution between the first and second data point, where the length of the parallel surfaces of the trapezoid distribution at the data points is based on the value of the calculated flow emanating from each represented data point.

### Claim 14 (depends on 10)

The system of claim 10, wherein the heat determination module executable by the processor is further arranged to calculate a triangular prism distribution between the first and second data point, where the height of the triangular prism at each data point is based on the value of the calculated flow emanating from each represented data point.

### Claim 15 (depends on 14)

The system of claim 14, wherein the prism height corresponds to one or more of a range of colors or shadings.

### Claim 16 (depends on 10)

The system of claim 10, wherein the conical data distribution values are calculated by applying one of a frustoconical distribution, an exact conical distribution or a skewed conical distribution to the data value.

### Claim 17 (depends on 16)

The system of claim 16, wherein the inverse conical data distribution values are calculated by applying one of an inverse frustoconical distribution, an exact inverse conical distribution or a skewed inverse conical distribution to the data value.

### Claim 18 (depends on 10)

The system of claim 10, wherein the inverse conical data distribution values are calculated by applying one of an inverse frustoconical distribution, an exact inverse conical distribution or a skewed inverse conical distribution to the data value.

### Claim 19

A non-transitory computer readable storage medium storing one or more programs configured for execution by an electronic computing device, the one or more programs comprising instructions for:
positioning data points at respective data point locations on a heatmap for graphical representation;
calculating bi-directional flow values between data points, at least two data points having bi-directional flow values to at least two other data points;
determining the intensity and direction of a predominant flow from the bi-directional flow values;
calculating weighted heat values for an area on the heatmap based on the bi-directional flow values near the area, the distance the bi-directional flow values are from the area and flow start values for the data points;
for each data point, representing flow start values at each respective data point by calculating respective conical data distribution values around the respective data point based on the flow start value associated with the respective data point, wherein each conical distribution comprises a set of locations and a unique distribution value corresponding to each location in a respective region centered on the respective data point location;
for each data point, determining whether the calculated respective conical data distribution values of other data points at the respective data point location are greater than the flow start value associated with the respective data point; and
upon a positive determination, calculating inverse conic data distribution values around the respective data point based on the flow start value associated with the respective data point; and
graphically representing the predominant flow, the bi-directional flows between the data points, the calculated weighted heat values, the calculated conical data distribution values and the calculated inverse conic data distribution values in the heatmap.

### Claim 20 (depends on 19)

The non-transitory computer readable storage medium of claim 19, wherein the conical data distribution values are calculated by applying one of a frustoconical distribution, an exact conical distribution or a skewed conical distribution to the data value and wherein the inverse conical data distribution values are calculated by applying one of an inverse frustoconical distribution, an exact inverse conical distribution or a skewed inverse conical distribution to the data value.
