Chart-type agnostic scene graph for defining a chart
First Claim
Patent Images
1. A computer-implemented method for defining how to render a chart, comprising:
- performing a chart layout for a chart based on a chart description;
generating a scene graph defining the layout of the chart, wherein the scene graph is agnostic of a chart-type, wherein generating the scene graph includes;
providing a mapping, with the scene graph, to a web client, wherein the mapping comprises a data field for each scene graph point that indicates to which point in a chart description, received from the web client, the scene graph point is associated, wherein the mapping is read by the web client and enables the web client to compare two separate scene graphs and identify the common scene graph points by the data field, and wherein the web client locally animates changes between common scene graph points without needing other scene graphs be generated to represent the changes between scene graph points;
converting the scene graph from a first format to a second format, wherein the second format is consumable by the web client; and
transmitting the converted scene graph to the web client for rendering the chart, thereby providing an interactive chart via the web client that does not expose chart layout code.
1 Assignment
0 Petitions
Accused Products
Abstract
Generating a chart-type agnostic data structure for defining a chart for use in chart rendering, animation, interactivity, and accessibility via a web client is provided. Aspects of a charting system are operative to represent output of a server-side chart layout engine in a data structure that can transmitted to and consumed by the web client for rendering an interactive chart. For example, aspects of the charting system enable for chart layout and chart rendering to exist separately, providing efficient chart layout and preventing external exposure of chart layout code.
-
Citations
20 Claims
-
1. A computer-implemented method for defining how to render a chart, comprising:
-
performing a chart layout for a chart based on a chart description; generating a scene graph defining the layout of the chart, wherein the scene graph is agnostic of a chart-type, wherein generating the scene graph includes; providing a mapping, with the scene graph, to a web client, wherein the mapping comprises a data field for each scene graph point that indicates to which point in a chart description, received from the web client, the scene graph point is associated, wherein the mapping is read by the web client and enables the web client to compare two separate scene graphs and identify the common scene graph points by the data field, and wherein the web client locally animates changes between common scene graph points without needing other scene graphs be generated to represent the changes between scene graph points; converting the scene graph from a first format to a second format, wherein the second format is consumable by the web client; and transmitting the converted scene graph to the web client for rendering the chart, thereby providing an interactive chart via the web client that does not expose chart layout code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for defining how to render a chart, the system including a computing device comprising:
-
at least one processing device; and at least one computer readable data storage device storing instructions that, when executed by the at least one processing device, cause the computing device to; perform a chart layout for a chart based on a chart description; generate a scene graph defining the layout of the chart, wherein the scene graph is agnostic of a chart-type, wherein generating the scene graph includes; providing a mapping, with the scene graph, to a web client, and wherein the mapping comprises a data field for each scene graph point that indicates to which point in a chart description, received from the web client, the scene graph point is associated, wherein the mapping is read by the web client and enables the web client to compare two separate scene graphs and identify the common scene graph points by the data field, and wherein the web client locally animates changes between common scene graph points without needing other scene graphs be generated to represent the changes between scene graph points; convert the scene graph from a first format to a second format, wherein the second format is consumable by the web client; and transmit the converted scene graph to the web client for rendering the chart, thereby providing an interactive chart via the web client that does not expose chart layout code. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A computer readable storage device including computer readable instructions, which when executed by a processing unit is operative to:
-
receive a chart description for a chart to be rendered via a web client; perform a chart layout for the chart based on the chart description; generate a scene graph defining the layout of the chart, wherein the scene graph is agnostic of a chart-type, defines a rendering order for the chart, and comprises a collection of nodes, each node representing a chart element, wherein generating the scene graph includes; providing a mapping, with the scene graph, to a web client, and wherein the mapping comprises a data field for each scene graph point that indicates to which point in a chart description, received from the web client, the scene graph point is associated, wherein the mapping is read by the web client and enables the web client to compare two separate scene graphs and identify the common scene graph points by the data field, and wherein the web client locally animates changes between common scene graph points without needing other scene graphs be generated to represent the changes between scene graph points; convert the scene graph from a C++ data structure to a JavaScript Object Notation (JSON) data structure, wherein the JSON data structure is consumable by the web client; and transmit the converted scene graph to the web client for rendering the chart, thereby providing an interactive chart via the web client that does not expose chart layout code.
-
Specification