IP Library Granted Patent US 11,080,914
Granted Patent B2
US 11,080,914 · App. 16/808,362 · Granted Aug 3, 2021

Interactive layout-aware construction of bespoke charts

Inventors: Bongshin Lee (Issaquah, WA); Matthew Michael Brehmer (Seattle, WA); Donghao Ren (Goleta, CA)
Assignee: Microsoft Technology Licensing, LLC
G06T11/60G06F3/0482G06F3/0486G06F3/04817G06F40/183G06F40/186
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,080,914
App. No.
16/808,362
Granted
Aug 3, 2021
Kind
B2
Abstract

A chart creation tool is provided that operatively, specifies chart layouts interactively in lieu of programmatically specifying data transformations. Operatively, the herein described systems and methods can convert user-specified layouts into mathematical constraints, and a constraint solver is employed to draw the resulting chart. An illustrative user interface is provided that can allow a user to input data representative of one or more chart layouts through the interaction with one or more illustrative controls of the user interface. Responsive to such interactions (i.e., data input), one or more mathematical constraints can be calculated/generated from the inputted user-specified one or more chart layout input data. Illustratively, the chart layout can comprise a reusable layout.

Claims (36)

1. A system for the creation of a bespoke chart on a computing environment, the system comprising:

at least one processor;

at least one memory component; and

at least one memory in communication with the at least one processor, the at least one memory having computer-readable instructions stored thereupon that,

when executed by the at least one processor, cause the at least one processor to:

receive input data representative of tabular data having at least one row and one column;

receive one or more user interactions, associated with the tabular data, which causes generation of one or more mathematical constraints associated with a chart layout;

solve the one or more mathematical constraints to generate one or more solutions comprising at least a layout solver operable to perform linear or non-linear solutions to the one or more mathematical constraints; and

create the chart layout using the one or more solutions.

2. The system of claim 1 , wherein the chart layout comprises charting elements representing the one or more solutions, wherein receive the one or more user interactions includes at least a user input indicating a drag-drop of the tabular data into a drop zone of a user interface, wherein the user input indicating the drag-drop of the tabular data into the drop zone causes an automatic scaling of at least one size parameter of at least one charting element representing of the charting elements.

3. The system of claim 2 , wherein the at least one charting element is a bar of a bar chart, and wherein the scaling of the bar comprises a maximum height of the bar of the bar chart constrained by a maximum value of a height from tallest bar from the tabular data.

4. The system of claim 3 , further comprising scaling of other bars of the bar chart using a scaling factor relative to the maximum value of the height from the tallest bar from the tabular data.

5. The system of claim 2 , wherein the charting elements are stacks of a horizontal stacked chart, wherein the at least one charting element is a stack of the horizontal stacked chart, and wherein the scaling of the stacks comprises a maximum width of a sum of widths of the stacks constrained by a maximum value of a width of the horizontal stacked chart.

6. The system of claim 1 , wherein the chart layout comprises a packing layout, wherein the layout solver is a two-stage layout solver, where a first stage of the two-stage layout solver determines a central position of the packing layout, and a second stage of the two-stage layout solver determines packing of the packing layout.

7. The system of claim 1 , wherein the create the layout is improved by interactively specifying the chart layout in lieu of programmatically specifying the layout.

8. A computer-implemented method, comprising:

receiving input data representative of tabular data having at least one row and one column;

receiving one or more user interactions, associated with the tabular data, which causes generation of one or more mathematical constraints associated with a chart layout;

solving the one or more mathematical constraints to generate one or more solutions comprising at least a layout solver operable to perform linear or non-linear solutions to the one or more mathematical constraints;

creating the chart layout using the one or more solutions.

9. The computer-implemented method of claim 8 , wherein the chart layout comprises charting elements representing the one or more solutions, wherein receive the one or more user interactions includes at least a user input indicating a drag-drop of the tabular data into a drop zone of a user interface, wherein the user input indicating the drag-drop of the tabular data into the drop zone causes an automatic scaling of at least one size parameter of at least one charting element representing of the charting elements.

10. The computer-implemented method of claim 9 , wherein the at least one charting element is a bar of a bar chart, and wherein the scaling of the bar comprises a maximum height of the bar of the bar chart constrained by a maximum value of a height from tallest bar from the tabular data.

11. The computer-implemented method of claim 10 , further comprising scaling of other bars of the bar chart using a scaling factor relative to the maximum value of the height from the tallest bar from the tabular data.

12. The computer-implemented method of claim 9 , wherein the charting elements are stacks of a horizontal stacked chart, wherein the at least one charting element is a stack of the horizontal stacked chart, and wherein the scaling of the stacks comprises a maximum width of a sum of widths of the stacks constrained by a maximum value of a width of the horizontal stacked chart.

13. The computer-implemented method of claim 8 , wherein the chart layout comprises a packing layout, wherein the layout solver is a two-stage layout solver, where a first stage of the two-stage layout solver determines a central position of the packing layout, and a second stage of the two-stage layout solver determines packing of the packing layout.

14. The computer-implemented method of claim 8 , wherein the creating the layout is improved by interactively specifying the chart layout in lieu of programmatically specifying the layout.

15. A computer-readable medium storing instructions, that cause the one or more processors of the computing device to:

receive input data representative of tabular data having at least one row and one column;

receive one or more user interactions, associated with the tabular data, which causes generation of one or more mathematical constraints associated with a chart layout;

solve the one or more mathematical constraints to generate one or more solutions comprising at least a layout solver operable to perform linear or non-linear solutions to the one or more mathematical constraints; and

create the chart layout using the one or more solutions.

16. The computer readable medium of claim 15 , wherein the chart layout comprises charting elements representing the one or more solutions, wherein receive the one or more user interactions includes at least a user input indicating a drag-drop of the tabular data into a drop zone of a user interface, wherein the user input indicating the drag-drop of the tabular data into the drop zone causes an automatic scaling of at least one size parameter of at least one charting element representing of the charting elements.

17. The computer readable medium of claim 16 , wherein the at least one charting element is a bar of a bar chart, and wherein the scaling of the bar comprises a maximum height of the bar of the bar chart constrained by a maximum value of a height from tallest bar from the tabular data.

18. The computer readable medium of claim 17 , further comprising scaling of other bars of the bar chart using a scaling factor relative to the maximum value of the height from the tallest bar from the tabular data.

19. The computer readable medium of claim 16 , wherein the charting elements are stacks of a horizontal stacked chart, wherein the at least one charting element is a stack of the horizontal stacked chart, and wherein the scaling of the stacks comprises a maximum width of a sum of widths of the stacks constrained by a maximum value of a width of the horizontal stacked chart.

20. The computer readable medium of claim 15 , wherein the chart layout comprises a packing layout, wherein the layout solver is a two-stage layout solver, where a first stage of the two-stage layout solver determines a central position of the packing layout, and a second stage of the two-stage layout solver determines packing of the packing layout.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2020
From: LEE, BONGSHIN; BREHMER, MATTHEW MICHAEL; REN, DONGHAO
To: MICROSOFT TECHNOLOGY LICENSING, LLC.
Reel/Frame 053922/0696 →
Continuity (2)
Continuation 16011592 · Jun 18, 2018
Related Publication 20200273226A1 · Aug 27, 2020
Cited By (3)
US 12,333,471 US 12,380,390 US 12,400,167