SYSTEM AND METHOD FOR GENERATING HISTOGRAMS
A method for constructing histograms may include receiving a set of data values, wherein the data values are two-dimensional or three-dimensional and the data values contain at least one measurement over time; creating a plurality of bins in memory, wherein the plurality of bins are log-linear bins using 2 significant digits base 10; creating a zero bin representing the number 0; placing non-zero numbers of the set of data values into the plurality of bins; and generating one or more histograms using the bins.
1 . A method for constructing histograms comprising:
receiving, by one or more processors, a set of data values, wherein the data values are two-dimensional or three-dimensional and the data values contain at least one measurement over time;
creating, by the one or more processors, a plurality of bins in memory, wherein the plurality of bins are log-linear bins using 2 significant digits base 10;
creating, by the one or more processors, a zero bin representing the number 0;
placing, by the one or more processors, non-zero numbers of the set of data values into the plurality of bins; and
generating, by the one or more processors, one or more histograms using the bins.
2 . The method of claim 1 , wherein:
the one or more histograms are generated based on 1 minute, 5 minutes, 1 hour, and 12 hour time increments.
3 . The method of claim 2 , wherein
measurement values are received each minute; and
each minute, a one-minute histogram is created, a five-minute histogram is recalculated, a one-hour histogram is recalculated, and a twelve-hour histogram is recalculated.
4 . The method of claim 1 , further comprising:
receiving minimum and maximum visual limits;
calculating a focal maximum by taking the greater number from the absolute value of the minimum and maximum visual limits;
calculating a focal minimum by taking the lowest number from of the absolute value of the minimum and maximum visual limits;
calculating a data minimum from the set of data values; and
calculating a data maximum from the set of data values.
5 . The method of claim 4 , wherein generating one or more histograms comprises:
(a) when the data minimum is greater than 0:
creating a first bin of the plurality of bins, wherein the first bin ranges from the data minimum to the focal minimum and discard covered bins, and
creating a second bin of the plurality of bins, wherein the second bin ranges from 10*focal maximum to the data maximum and discard covered bins;
(b) when the data maximum is less than 0:
creating the first bin ranging from −1*the focal minimum to the data maximum and discard covered bins, and
creating the second bin ranging from the data minimum to −10*the focal maximum and discard covered bins;
(c) when the data minimum is less than or equal to 0 and the data minimum is greater than or equal to −1*the focal minimum:
preserving the zero bin,
creating the first bin ranging from the data minimum to 0 and discard covered bins,
creating the second bin ranging from 0 to the focal minimum and discard covered bins, and
creating a third bin of the plurality of bins, wherein the third bin ranges from 10*the focal maximum to the data maximum and discard covered bins;
(d) when the data maximum is greater than or equal to 0 and the data maximum is less than or equal to the focal minimum:
preserving the zero bin,
creating the first bin ranging from 0 to the data maximum and discard covered bins,
creating the second bin ranging from −1*the focal minimum to 0 and discard covered bins, and
creating the third bin ranging from the data minimum to −10*the focal maximum and discard covered bins; and
when (a)-(d) are not met:
preserving the zero bin,
creating the first bin ranging from −1*the focal minimum to 0 and discard covered bins,
creating the second bin ranging from the data minimum to −10*focal maximum and discard covered bins,
create the third bin ranging from 0 to the focal minimum and discard covered bins, and
creating a fourth bin of the plurality of bins, wherein the fourth bin ranges from 10*the focal maximum to the data maximum and discard covered bins.
6 . A non-transitory computer-readable medium comprising instructions, which when executed by one or more processors causes the one or more processors to perform operations for constructing histograms, the computer-readable medium comprising instructions to:
receive a set of data values, wherein the data values are two-dimensional or three-dimensional and the data values contain at least one measurement over time;
create a plurality of bins in memory, wherein the plurality of bins are log-linear bins using 2 significant digits base 10;
create a zero bin representing the number 0;
place non-zero numbers of the set of data values into the plurality of bins; and
generate one or more histograms using the bins.
7 . The non-transitory computer-readable medium of claim 6 , wherein:
the one or more histograms are generated based on 1 minute, 5 minutes, 1 hour, and 12 hour time increments.
8 . The non-transitory computer-readable medium of claim 7 , wherein measurement values are received each minute; and
each minute, a one-minute histogram is created, a five-minute histogram is recalculated, a one-hour histogram is recalculated, and a twelve-hour histogram is recalculated.
9 . The non-transitory computer-readable medium of claim 6 , further comprising instructions to:
receive minimum and maximum visual limits;
calculate a focal maximum by taking the greater number from the absolute value of the minimum and maximum visual limits;
calculate a focal minimum by taking the lowest number from of the absolute value of the minimum and maximum visual limits;
calculate a data minimum from the set of data values; and
calculate a data maximum from the set of data values.
10 . The non-transitory computer-readable medium of claim 9 , wherein generating one or more histograms further comprises instructions to:
(a) when the data minimum is greater than 0:
create a first bin of the plurality of bins, wherein the first bin ranges from the data minimum to the focal minimum and discard covered bins, and
create a second bin of the plurality of bins, wherein the second bin ranges from 10*focal maximum to the data maximum and discard covered bins;
(b) when the data maximum is less than 0:
create the first bin ranging from −1*the focal minimum to the data maximum and discard covered bins, and
create the second bin ranging from the data minimum to −10*the focal maximum and discard covered bins;
(c) when the data minimum is less than or equal to 0 and the data minimum is greater than or equal to −1*the focal minimum:
preserve the zero bin,
create the first bin ranging from the data minimum to 0 and discard covered bins,
create the second bin ranging from 0 to the focal minimum and discard covered bins, and create a third bin of the plurality of bins, wherein the third bin ranges from 10*the focal maximum to the data maximum and discard covered bins;
(d) when the data maximum is greater than or equal to 0 and the data maximum is less than or equal to the focal minimum:
preserve the zero bin,
create the first bin ranging from 0 to the data maximum and discard covered bins,
create the second bin ranging from −1*the focal minimum to 0 and discard covered bins, and
create the third bin ranging from the data minimum to −10*the focal maximum and discard covered bins; and
when (a)-(d) are not met:
preserve the zero bin,
create the first bin ranging from −1*the focal minimum to 0 and discard covered bins,
create the second bin ranging from the data minimum to −10*focal maximum and discard covered bins,
create the third bin ranging from 0 to the focal minimum and discard covered bins, and
create a fourth bin of the plurality of bins, wherein the fourth bin ranges from 10* the focal maximum to the data maximum and discard covered bins.
11 . A system for constructing histograms comprising:
one or more processors for executing a plurality of instructions;
a display device in communication with the one or more processors; and
a storage device in communication with the one or more processors, the storage device holding the plurality of instructions, the plurality of instructions including instructions to:
receive a set of data values, wherein the data values are two-dimensional or three-dimensional and the data values contain at least one measurement over time;
create a plurality of bins in memory, wherein the plurality of bins are log-linear bins using 2 significant digits base 10;
create a zero bin representing the number 0;
place non-zero numbers of the set of data values into the plurality of bins;
generate one or more histograms using the bins; and
display the one or more histograms via the display device.
12 . The system of claim 11 , wherein:
the one or more histograms are generated based on 1 minute, 5 minutes, 1 hour, and 12 hour time increments.
13 . The system of claim 12 , wherein
measurement values are received each minute; and
each minute, a one-minute histogram is created, a five-minute histogram is recalculated, a one-hour histogram is recalculated, and a twelve-hour histogram is recalculated.
14 . The system of claim 11 , wherein the plurality of instructions further include instructions to:
receive minimum and maximum visual limits;
calculate a focal maximum by taking the greater number from the absolute value of the minimum and maximum visual limits;
calculate a focal minimum by taking the lowest number from of the absolute value of the minimum and maximum visual limits;
calculate a data minimum from the set of data values; and
calculate a data maximum from the set of data values.
15 . The system of claim 14 , wherein generating one or more histograms further comprises instructions to:
(a) when the data minimum is greater than 0:
create a first bin of the plurality of bins, wherein the first bin ranges from the data minimum to the focal minimum and discard covered bins, and
create a second bin of the plurality of bins, wherein the second bin ranges from 10*focal maximum to the data maximum and discard covered bins;
(b) when the data maximum is less than 0:
create the first bin ranging from −1*the focal minimum to the data maximum and discard covered bins, and
create the second bin ranging from the data minimum to −10*the focal maximum and discard covered bins;
(c) when the data minimum is less than or equal to 0 and the data minimum is greater than or equal to −1*the focal minimum:
preserve the zero bin,
create the first bin ranging from the data minimum to 0 and discard covered bins,
create the second bin ranging from 0 to the focal minimum and discard covered bins, and
create a third bin of the plurality of bins, wherein the third bin ranges from 10*the focal maximum to the data maximum and discard covered bins;
(d) when the data maximum is greater than or equal to 0 and the data maximum is less than or equal to the focal minimum:
preserve the zero bin,
create the first bin ranging from 0 to the data maximum and discard covered bins,
create the second bin ranging from −1*the focal minimum to 0 and discard covered bins, and
create the third bin ranging from the data minimum to −10*the focal maximum and discard covered bins; and
when (a)-(d) are not met:
preserve the zero bin,
create the first bin ranging from −1*the focal minimum to 0 and discard covered bins,
create the second bin ranging from the data minimum to −10*focal maximum and discard covered bins,
create the third bin ranging from 0 to the focal minimum and discard covered bins, and
create a fourth bin of the plurality of bins, wherein the fourth bin ranges from 10* the focal maximum to the data maximum and discard covered bins.