Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of automatic labeling an unlabeled scatter chart including geometrically distributed data points, comprising the steps of: 1. retrieving from a memory data that specifies an unlabeled scatter chart including label content data, label format data and chart geometry data, and labels to be associated with data points; 2. determining for each label positions juxtaposed to its associated data point on said scatter chart in a non-colliding manner according to a labeling algorithm in which the following steps are taken: (a) defining a set of N rays for each data point that originate from said data point with adjacent rays of said set enclosing an angle of 2π/N, and wherein N is selected from a number from 2 3 to 2 8 ; (b) determining for each data point the allowed non-colliding locations on said set of N rays that a label can be placed on without colliding with another already placed label or data point; (c) determining a measure for each data point indicative of allowed non-colliding spaces remaining for labeling of data points by a monotonically decreasing function of distance of a non-colliding label position on a ray from an associated data point; (d) iteratively calculating tentative positions for non-colliding labels on said scatter chart on sets of N rays with respect to associated data points in accordance with the determinations of steps (b) and (c) to achieve the closest location for fixing non-colliding label positions relative to associated data points, and outputting the non-colliding labeled result for the data points; and (e) outputting graphically the resultant non-colliding labels for the data points.
2. The automatic labeling method of claim 1 , wherein each of the non-colliding labels is contained in a graphical object.
3. The automatic labeling method of claim 2 , further comprising opening one of the graphical objects via the graphical user interface and entering a first modification to the non-colliding label contained in the opened graphical object.
4. The automatic labeling method of claim 3 , wherein the execution of the labeling algorithm is started while the graphical object is opened.
5. The automatic labeling method of claim 4 , further comprising entering a second modification of the non-colliding label in the open graphical object, terminating the execution of the labeling algorithm if generation of the modified labeled scatter chart in response to the entry of the first modification has not been completed when the second modification is entered, and restarting the execution of the labeling algorithm for generating a second modified non-colliding labeled scatter chart in response to the entry of the second modification, wherein the second modified non-colliding labeled scatter chart is displayed on the graphical user interface instead of the first modified non-colliding labeled scatter chart.
6. The automatic labeling method of claim 5 , wherein the execution of the labeling algorithm is restarted in response to entry of each subsequent modification of the one of the non-colliding labels for generating a respective modified non-colliding labeled scatter chart.
7. The automatic labeling method of claim 1 , wherein the execution of the labeling algorithm is performed asynchronously, without preventing a user from interacting with a presentation system.
8. The automatic labeling method of claim 3 , wherein the first modification is entered by a single user input action and the execution of the labeling algorithm is started automatically in response to the single user input action.
9. The automatic labeling method of claim 8 , wherein the single user input action is a keystroke.
10. The automatic labeling method of claim 1 , wherein step 2(d) further comprises tentatively placing a non-colliding label on one of the rays of the set of rays of its associated data point, calculating a measure for each other data point to provide a list of measures, wherein the list of measures is used to select or deselect the tentative placement of a non-colliding labeling position.
11. The automatic labeling method of claim 10 , wherein the measure is in proportion to the remaining space for non-colliding labeling one of the other data points with the non-colliding label associated with that other data point.
12. The automatic labeling method of claim 10 , wherein the following further steps are performed by execution of the labeling algorithm sorting each list of measures in ascending order; selecting a data point with the associated list of measures that has a maximum first list entry; and labeling in a non-colliding manner the selected data point.
13. The automatic labeling method of claim 3 , wherein the first modification is entered without viewing a data sheet or a spreadsheet.
14. The method of automatic labeling according to claim 1 further comprising the steps of editing the resultant non-colliding labeled scatter chart by displaying the non-colliding labeled scatter chart on a graphical user interface with each non-colliding label displayed in an associated opened graphical object, entering a first modification of one of the non-colliding labels directly in the associated opened graphical object via the graphical user interface; automatically and immediately initiating execution of the labeling algorithm responsive to entry of the first modification for generating a first modified non-colliding labeled scatter chart; and displaying directly the first modified non-colliding labeled scatter chart on the graphical user interface.
15. The method of automatic labeling according to claim 14 further comprising the steps of entering a second modification of a non-colliding label directly in the associated open graphical object via the graphical user interface; immediately and automatically terminating execution of the labeling algorithm in process, and restarting the execution of the labeling algorithm for generating a second modified non-colliding labeled scatter chart in response to the entry of the second modification; and displaying the second modified non-colliding labeled scatter chart on the graphical user interface.
16. Apparatus for automatically labeling a scatter chart including distributed data points, comprising: 1. means for retrieving from a memory data that specifies a scatter chart including label content data, label format data and chart geometry data, and labels to be associated with data points; 2. means for determining a position for each label juxtaposed to its associated data point on said scatter chart for display on a graphical user interface in a non-colliding manner according to a labeling algorithm which comprises: (a) means for defining a set of N rays for each data point that originate from said data point with adjacent rays of said set enclosing an angle of 2π/N, and wherein N is selected from a number from 2 3 to 2 8 ; (b) mean for determining for each data point the locations on said set of N rays that a label can be placed without colliding with another already placed label or data point; (c) means for determining a measure for each data point indicative of space remaining for non-colliding labeling of data points by a monotonically decreasing function of distance of a non-colliding label position on a ray from an associated data point; (d) means for iteratively calculating tentative positions for non-colliding labels on said scatter chart on sets of N rays with respect to associated data points in accordance with the determinations of (b) and (c) to achieve the closest location for fixing non-colliding label positions relative to associated data points; and (e) means for outputting graphically the non-colliding labeled result for the data points.
Unknown
July 13, 2010
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.