IP Library Granted Patent US 11,694,024
Granted Patent B2
US 11,694,024 · App. 17/403,830 · Granted Jul 4, 2023

Generating charts from data in a data table

Inventors: Fernanda Viégas (Mountain View, CA); Martin Wattenberg (Winchester, MA); Daniel Smilkov (Boston, MA); James Wexler (Newton, MA); Daniel Gundrum (New York, NY)
Assignee: Google LLC
G06F40/18G06F3/0482G06F16/2282G06F16/248G06F40/177G06F40/216G06T11/206
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,694,024
App. No.
17/403,830
Granted
Jul 4, 2023
Kind
B2
Abstract

A method for generating a chart suggestion list using data present in a data table includes providing the data table, one or more data types of a plurality of cells of the data table and one or more statistics pertaining to the plurality of cells as input to a machine learning model to obtain one or more outputs indicating one or more chart types for the data table, and creating one or more suggested charts based on the indicated chart types. Each of the one or more suggested charts represents at least a subset of the data in the data table. The method also includes generating a chart suggestion list including at least one of the one or more suggested charts.

Claims (86)

1. A method for generating a chart suggestion list using data present in a data table of a collaborative spreadsheet stored in a cloud-based environment, the method comprising:

providing the collaborative spreadsheet to be displayed on a first device of a first user, wherein the collaborative spreadsheet is shared with a second user by granting permissions to the second user that allows the second user to concurrently edit the collaborative spreadsheet on a second device while the first user edits the collaborative spreadsheet on the first device;

providing the data table, one or more data types of a plurality of cells of the data table and one or more statistics pertaining to the plurality of cells as input to a machine learning model to obtain one or more outputs indicating one or more chart types for the data table;

creating one or more suggested charts based on the one or more indicated chart types, wherein each of the one or more suggested charts represents at least a subset of the data in the data table;

generating a chart suggestion list including at least one of the one or more suggested charts;

presenting the chart suggestion list on the first device of the first user;

receiving additional data in the data table from the second device of the second user, the additional data added by the second user while editing the collaborative spreadsheet on the second device concurrently with the editing of the collaborative spreadsheet on the first device;

revising at least one of the created one or more suggested charts to generate one or more revised suggested charts representing the additional data from the second device of the second user;

updating the chart suggestion list presented on the first device of the first user to include at least one of the one or more revised suggested charts; and

responsive to receiving, from the first device of the first user, a selection of a suggested chart of the chart suggestion list, associating the suggested chart with the collaborative spreadsheet for presentation on the first device of the first user.

2. The method of claim 1 , further comprising providing a user interface comprising a first portion to present the chart suggestion list and a second portion to concurrently present the data table.

3. The method of claim 1 , further comprising

parsing the plurality of cells of the data table to identify one or more columns and the one or more data types of the plurality of cells; and

performing a statistical analysis of the one or more columns to obtain the one or more statistics pertaining to the plurality of cells.

4. The method of claim 1 , wherein the at least one of the created one or more suggested charts are revised while the chart suggestion list is presented on the first device of the first user.

5. The method of claim 3 , further comprising:

creating at least a second data table containing a subset of the data from the data table based on the one or more statistics pertaining to the plurality of cells and the one or more data types of the cells;

creating one or more additional suggested charts that each represent at least a subset of data in the second data table; and

generating the chart suggestion list including at least one of the one or more additional suggested charts.

6. The method of claim 3 , further comprising:

scoring each of the one or more suggested charts based at least on one of the one or more data types of the plurality of cells, the one or more statistics, one or more criteria related to the one or more suggested charts, or a relationship identified between at least two columns of the one or more columns;

discarding the one or more suggested charts that receive a score below a minimum threshold; and

selecting the one or more suggested charts that receive a score above the minimum threshold to include in the chart suggestion list.

7. The method of claim 1 , further comprising:

receiving a selection of a suggested chart from the chart suggestion list; and

causing display of an indicator for a set of cells in the data table involved in creation of the selected suggested chart.

8. The method of claim 1 , further comprising:

receiving a selection of a subset of data in the data table;

creating one or more revised suggested charts to represent the selected subset of data; and

generating a second chart suggestion list including at least one of the one or more revised suggested charts.

9. The method of claim 1 , wherein at least one of the one or more charts in the chart suggestion list represents transformed data, the transformed data resulting from a transformation applied to the data in the data table, the transformed data not depicted in the data table, and the transformation comprising at least one of aggregating, summing, or averaging.

10. The method of claim 3 , wherein the one or more statistics comprise at least one of a number of unique values in each of the one or more columns, a distribution of data in each of the one or more columns, a size of the data table, an average of data values in each of the one or more columns, or a range of data in each of the one more columns.

11. The method of claim 1 , further comprising rearranging the one or more charts in the chart suggestion list by selecting a first chart with a lower score to be displayed more prominently than a second chart with a higher score based at least on types of charts of the first chart and the second chart in relation to a type chart of a third chart.

12. A system for generating a chart suggestion list using data present in a data table of a collaborative spreadsheet stored in a cloud-based environment, the system comprising:

a memory device storing instructions; and

a processing device coupled to the memory device, the processing device to execute the instructions to perform operations comprising:

providing the collaborative spreadsheet to be displayed on a first device of a first user, wherein the collaborative spreadsheet is shared with a second user by granting permissions to the second user that allows the second user to concurrently edit the collaborative spreadsheet on a second device while the first user edits the collaborative spreadsheet on the first device;

providing the data table, one or more data types of a plurality of cells of the data table and one or more statistics pertaining to the plurality of cells as input to a machine learning model to obtain one or more outputs indicating one or more chart types for the data table;

creating one or more suggested charts based on the one or more indicated chart types, wherein each of the one or more suggested charts represents at least a subset of the data in the data table;

generating a chart suggestion list including at least one of the one or more suggested charts;

presenting the chart suggestion list on the first device of the first user;

receiving additional data in the data table from the second device of the second user, the additional data added by the second user while editing the collaborative spreadsheet on the second device concurrently with the editing of the collaborative spreadsheet on the first device;

revising at least one of the created one or more suggested charts to generate one or more revised suggested charts representing the additional data from the second device of the second user;

updating the chart suggestion list presented on the first device of the first user to include at least one of the one or more revised suggested charts; and

responsive to receiving, from the first device of the first user, a selection of a suggested chart of the chart suggestion list, associating the suggested chart with the collaborative spreadsheet for presentation on the first device of the first user.

13. The system of claim 12 , the operations further comprising providing a user interface comprising a first portion to present the chart suggestion list and a second portion to concurrently present the data table.

14. The system of claim 12 , the operations further comprising

parsing the plurality of cells of the data table to identify one or more columns and the one or more data types of the plurality of cells; and

performing a statistical analysis of the one or more columns to obtain the one or more statistics pertaining to the plurality of cells.

15. The system of claim 14 , the operations further comprising:

creating at least a second data table containing a subset of the data from the data table based on the one or more statistics pertaining to the plurality of cells and the one or more data types of the cells;

creating one or more additional suggested charts that each represent at least a subset of data in the second data table; and

generating the chart suggestion list including at least one of the one or more additional suggested charts.

16. The system of claim 14 , the operations further comprising:

scoring each of the one or more suggested charts based at least on one of the one or more data types of the plurality of cells, the one or more statistics, one or more criteria related to the one or more suggested charts, or a relationship identified between at least two columns of the one or more columns;

discarding the one or more suggested charts that receive a score below a minimum threshold; and

selecting the one or more suggested charts that receive a score above the minimum threshold to include in the chart suggestion list.

17. The system of claim 12 , the operations further comprising:

receiving a selection of a suggested chart from the chart suggestion list; and

causing display of an indicator for a set of cells in the data table involved in creation of the selected suggested chart.

18. The system of claim 12 , the operations further comprising:

receiving a selection of a subset of data in the data table;

creating one or more revised suggested charts to represent the selected subset of data; and

generating a second chart suggestion list including at least one of the one or more revised suggested charts.

19. A non-transitory computer-readable storage media storing instructions, which when executed by one or more processing devices, cause the one or more processing devices to perform operations for generating a chart suggestion list using data present in a data table of a collaborative spreadsheet stored in a cloud-based environment, the operations comprising:

providing the collaborative spreadsheet to be displayed on a first device of a first user, wherein the collaborative spreadsheet is shared with a second user by granting permissions to the second user that allows the second user to concurrently edit the collaborative spreadsheet on a second device while the first user edits the collaborative spreadsheet on the first device;

providing the data table, one or more data types of a plurality of cells of the data table and one or more statistics pertaining to the plurality of cells as input to a machine learning model to obtain one or more outputs indicating one or more chart types for the data table;

creating one or more suggested charts based on the one or more indicated chart types, wherein each of the one or more suggested charts represents at least a subset of the data in the data table;

generating a chart suggestion list including at least one of the one or more suggested charts;

presenting the chart suggestion list on the first device of the first user;

receiving additional data in the data table from the second device of the second user, the additional data added by the second user while editing the collaborative spreadsheet on the second device concurrently with the editing of the collaborative spreadsheet on the first device;

revising at least one of the created one or more suggested charts to generate one or more revised suggested charts representing the additional data from the second device of the second user;

updating the chart suggestion list presented on the first device of the first user to include at least one of the one or more revised suggested charts; and

responsive to receiving, from the first device of the first user, a selection of a suggested chart of the chart suggestion list, associating the suggested chart with the collaborative spreadsheet for presentation on the first device of the first user.

20. The non-transitory computer-readable storage media of claim 19 , the operations further comprising providing a user interface comprising a first portion to present the chart suggestion list and a second portion to concurrently present the data table.

21. The non-transitory computer-readable storage media of claim 19 , the operations further comprising:

parsing the plurality of cells of the data table to identify one or more columns and the one or more data types of the plurality of cells; and

performing a statistical analysis of the one or more columns to obtain the one or more statistics pertaining to the plurality of cells.

22. The non-transitory computer-readable storage media of claim 21 , the operations further comprising:

creating at least a second data table containing a subset of the data from the data table based on the one or more statistics pertaining to the plurality of cells and the one or more data types of the cells;

creating one or more additional suggested charts that each represent at least a subset of data in the second data table; and

generating the chart suggestion list including at least one of the one or more additional suggested charts.

23. The non-transitory computer-readable storage media of claim 21 , the operations further comprising:

scoring each of the one or more suggested charts based at least on one of the one or more data types of the plurality of cells, the one or more statistics, one or more criteria related to the one or more suggested charts, or a relationship identified between at least two columns of the one or more columns;

discarding the one or more suggested charts that receive a score below a minimum threshold; and

selecting the one or more suggested charts that receive a score above the minimum threshold to include in the chart suggestion list.

Assignments (2)
CHANGE OF NAME Recorded Sep 20, 2021
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 057552/0227 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2021
From: VIÉGAS, FERNANDA; WATTENBERG, MARTIN; SMILKOV, DANIEL; WEXLER, JAMES; GUNDRUM, DANIEL
To: GOOGLE INC.
Reel/Frame 057309/0547 →
Continuity (3)
Continuation 15719425 · Sep 28, 2017
Provisional Application 62401647 · Sep 29, 2016
Related Publication 20210374332A1 · Dec 2, 2021