Presenting time series metrics using semantic alignment and contextual recommendations
The RemixTape system provides a graphical user interface that allows users to arrange interactive line diagrams on canvas, solving the data visualization problem in the prior art that is difficult to effectively communicate and interact with time series measurements, and achieving efficient interactivity and content coherence.
Patent Information
- Application Number
- CN202380063469.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-01-27
- Filing Date
- 2023-08-24
- Publication Date
- 2025-04-11
AI Technical Summary
The prior art has difficulty in effectively communicating and interacting with data visualization of time series metrics, especially in maintaining content coherence and interactivity.
Through the RemixTape system, a graphical user interface is provided that allows users to arrange interactive line graphs on canvas, support remix, juxtapose, overlay and synchronize chart sequences, and interleave charts with text comments to coordinate the display of metrics to provide semantic alignment.
Effective interaction and communication of time series measurements is achieved, interactiveness of data visualization and content coherence, and user experience and satisfaction are improved.
Smart Images

Figure CN119816827A_ABST
Abstract
Description
[0001] priority
[0002] This application is a continuation of the following patent applications: U.S. patent application No. 17 / 956,720 filed on September 29, 2022, U.S. patent application No. 17 / 956,731 filed on September 29, 2022, U.S. patent application No. 17 / 956,746 filed on September 29, 2022, U.S. patent application No. 18 / 102,609 filed on January 27, 2023, U.S. patent application No. 18 / 102,678 filed on January 27, 2023 and U.S. patent application No. 18 / 102,586 filed on January 27, 2023, each of the above patent applications claims priority to the following provisional patent applications: U.S. provisional patent application No. 63 / 403,822 filed on September 5, 2022 and U.S. provisional patent application No. 63 / 408,057 filed on September 19, 2022. Each of the foregoing applications is hereby incorporated by reference herein in its entirety. Technical Field
[0003] The disclosed implementations relate generally to data visualization, and more particularly to systems, methods, and user interfaces that enable a user to interact with and communicate data visualizations regarding time series metrics. Background Art
[0004] Data visualization applications enable users to visually understand data sets and interact with data visualizations. Visual analysis of data sets, including distribution, trends, outliers, and other factors, is important for making business decisions. Some data sets are very large or complex and include many data fields. Some data elements are calculated based on data from selected data sets. Various tools can be used to help understand and analyze data, including dashboards with multiple data visualizations and natural language interfaces that facilitate visual analysis tasks. Summary of the invention
[0005] Quantitative values, such as key performance indicator (KPI) values or metrics, and how they change over time are an increasingly common topic of discussion within organizations.
[0006] Currently, presenters who prepare and communicate narratives about metrics tend to rely on slides and screenshots from different sources and authors. For example, to communicate a metric, a presenter may copy and paste a static screenshot of a metric value or a line chart into a slide deck and discuss its contents in a meeting. However, in today's fast-paced environment, data may become stale between the time these charts are first made and the time they are finally shared and / or presented. Another approach for communicating a narrative is for the owner of a set of metrics to share the data (e.g., a folder) with those interested in understanding the metrics and their values. However, a shared folder does not provide any narrative or structure about the values and how (or why) they evolve over time.
[0007] Therefore, there is a need for improved systems, methods, and devices to provide a bridge between metric value conversations around metric sets. There is also a need to preserve the interactivity of data visualization (e.g., features found in some data dashboards (such as Tableau)) while ensuring overall coherence in content.
[0008] The disclosure provides a system and method for collecting, annotating, and structuring narratives about a self-organizing set of metrics. The disclosed system (e.g., application), also referred to as "RemixTape," simplifies the process of preparing and communicating narratives about metrics while retaining the interactivity of visualizations and ensuring overall coherence in content.
[0009] As disclosed, RemixTape includes a graphical user interface (eg, a canvas-based interface) for arranging interactive line graph representations of metrics.
[0010] As disclosed, RemixTape provides a scene- and card-based canvas in which it is possible to remix interactive line chart representations of metrics, which includes juxtaposing, overlaying and synchronizing chart sequences, as well as the ability to interleave charts with textual comments.
[0011] As disclosed, RemixTape provides semantic alignment between cards and interfaces by coordinating how metrics are shown relative to each other (eg, coordinating scales and providing descriptions of metrics adjacent to line graph visualizations).
[0012] As disclosed, when a user (e.g., an author) assembles content on a canvas, RemixTape provides contextual recommendations for metric visualizations. For example, in some implementations, as the user adds more content (e.g., more metrics or more visualizations) to the canvas, the recommendations are incrementally refined.
[0013] As disclosed, RemixTape determines the recommended scope based on how the user segments the canvas into scenes and cards. For example, in some implementations, the RemixTape interface enhances the process of metric planning and sorting with recommendations for additional charts based on which metrics are currently placed on the canvas.
[0014] As disclosed, RemixTape merges the functionality of presentation and data analysis tools. For example, on a continuum between slide presentation tools and dashboard applications or data analysis tools, RemixTape sits somewhere near the midpoint between these tool sets in terms of its functionality and its prioritized use cases. On the one hand, RemixTape provides line graphs of available metrics, but it is not a visualization specification tool. On the other hand, RemixTape allows one to assemble a linear sequence of visualization cards interleaved with text annotation cards, and unlike slides, these components remain interactive, and their value drives content recommendations designed to enrich the narrative and provide context.
[0015] As disclosed, RemixTape allows remixed sequences of visualizations and text to be delivered to audiences in synchronous meetings and presentations, or via collaborative platforms such as Slack. TM and Teams TM ) as an interactive card-based document.
[0016] Therefore, the disclosed system and / or method advantageously improves the preparation and communication of narratives about metrics. For example, the recommendations in RemixTape focus on improving narrative sequences during presentation creation (e.g., rather than improving data coverage or analytical tasks / intent during open data exploration). RemixTape takes into account the active state of the presentation, and the recommendations allow the author / presenter to gain insight into the metrics they have previously discussed, zoom out to give an overview when appropriate, or switch the visualization of the presentation context by focusing on related metrics. This in turn improves the narrative structure. In addition, RemixTape allows users to coordinate the differences between heterogeneous metrics (e.g., from different sources, with varying time domains, granularity, and / or quantitative scales) by juxtaposing, superimposing, and semantically aligning metrics via direct manipulation. These transformations are used to add coherence and semantic consistency to data-based presentations. Therefore, the disclosed system and / or method improves user experience and satisfaction.
[0017] The systems, methods and devices of the disclosure each have several innovative aspects, no single one of which is solely responsible for its desirable attributes.
[0018] According to some implementations, a method for recommending visualizations for an interactive presentation of time series metrics is performed at a computing device having a display, one or more processors, and a memory. The memory stores one or more programs configured for execution by the one or more processors. The method includes receiving a user selection of one or more data sources. The method includes identifying a plurality of metrics corresponding to the one or more data sources. Each of the plurality of metrics has a corresponding time attribute. The method includes displaying a data mode and a filter panel including the plurality of metrics in a graphical user interface. The interface also displays a canvas area for adding one or more scenarios to the interactive presentation. The method includes receiving a first user input to add a data visualization to a first visualization card in a first scenario of the interactive presentation. The method includes: in response to the first user input, when the first scenario is an initial scenario to be added to the canvas area, calculating a corresponding parameter measuring the variability of the value of the corresponding metric for each metric in the plurality of metrics. The method includes identifying a first subset of metrics from the plurality of metrics based on the calculated parameters. The method includes generating a corresponding data visualization for each metric in the first subset of metrics. The method includes displaying a plurality of generated data visualizations in a recommendation area of the graphical user interface. The method includes receiving a user selection of a first data visualization corresponding to a first metric in the subset of metrics from the plurality of data visualizations. The method includes, in response to a user selection, populating a first visualization card with a first data visualization.
[0019] In some implementations, generating the corresponding data visualization includes obtaining (i) a metric definition corresponding to the corresponding data visualization and (ii) data corresponding to the metric.
[0020] In some implementations, the first data visualization is a line graph.
[0021] In some implementations, the method further includes: receiving, prior to the first user input, a second user input to add the first visualization card to the first scene. The method includes: in response to the second user input, displaying a blank visualization card in the first scene. Populating the first visualization card with the first data visualization includes updating the blank visualization card to include the first data visualization.
[0022] In some implementations, the first user input includes a user selection of a blank visualization card.
[0023] In some implementations, the method includes: in response to a first user input, when the first scene is already populated with a second visualization card having a second data visualization and corresponding to a second metric in a plurality of metrics, determining one or more metrics corresponding to the second visualization card. The method includes identifying a second metric subset that excludes one or more metrics from the plurality of metrics. The method includes calculating, for each metric in the second metric subset, a corresponding correlation coefficient between (i) a value of the metric and (ii) a data value displayed in the second data visualization. The method includes identifying a third metric from the second metric subset based on the calculated correlation coefficient. The method includes generating a third data visualization corresponding to the third metric. The method includes displaying the third data visualization in a recommendation area.
[0024] In some implementations, generating a third data visualization corresponding to the third metric includes obtaining a metric definition and / or associated data corresponding to the third metric, and generating the third data visualization using the metric definition and the associated data.
[0025] In some implementations, the second visualization card immediately precedes the first visualization card in the first scene.
[0026] In some implementations, the third metric has the strongest correlation with the second metric in the second subset of metrics.
[0027] In some implementations, the first data visualization includes data values that span a first date / time range. The method also includes: after populating the first visualization card with the first data visualization, receiving a second user input to add a second visualization card in the first scenario. The method includes: in response to the second user input, generating one or more visualization recommendations for the second visualization card. The one or more visualization recommendations include one of the following: a first visualization recommendation that filters the values of the first metric to a subset of data values corresponding to a second date / time range that is narrower than the first date / time range; or a second visualization recommendation that spans an entire time period of one or more data sources.
[0028] In some implementations, the subset of data values corresponds to a local maximum or a local minimum of the first data visualization.
[0029] In some implementations, the method also includes identifying a subset of data values using a moving average algorithm, generating a first line graph including the subset of data values, and displaying the first line graph in the recommendation area.
[0030] In some implementations, one or more data sources include a second metric having a categorical data field. The method also includes generating a third visualization recommendation, which includes a second line graph having a plurality of lines. Each of the lines corresponds to a different data value of the categorical data field. The method also includes displaying the third visualization recommendation in the recommendation area.
[0031] In some implementations, the one or more visualization recommendations include a third visualization recommendation corresponding to a second metric different from the first metric.
[0032] In some implementations, one or more data sources include a second metric having a categorical data field. The method includes generating a second data visualization having a plurality of lines. Each of the lines corresponds to a different data value for the categorical data field. The method includes displaying the second data visualization in a recommendation area.
[0033] In some implementations, the first data visualization and the second data visualization are displayed simultaneously in the recommendation area.
[0034] In some implementations, the method further includes receiving a user selection of a second metric among the plurality of metrics in the data mode and filter panel. The method includes, in response to the user selection, displaying a second data visualization corresponding to the second metric in the recommendation area.
[0035] In some implementations, the method further includes receiving a user selection of a second metric and a third metric from among the plurality of metrics in the data mode and filter panel. The method further includes, in response to the user selection, generating a second data visualization including two lines corresponding to the second metric and the third metric, respectively. The method further includes displaying the second data visualization in the recommendation area.
[0036] In some implementations, each data visualization in the plurality of data visualizations is a line graph that depicts changes in a value of a corresponding metric over a date / time range corresponding to the corresponding metric.
[0037] In some implementations, identifying the first subset of metrics includes arranging the plurality of metrics (eg, in ascending or descending order) based on the corresponding calculated parameters, and identifying the first subset of metrics based on the arrangement.
[0038] In some implementations, identifying the first subset of metrics includes determining that each metric in the first subset of metrics has a coefficient of variation that exceeds a predetermined threshold.
[0039] According to some implementations, a method for recommending visualizations for an interactive presentation of time series metrics is performed at a computing device having a display, one or more processors, and a memory. The memory stores one or more programs configured for execution by the one or more processors. The method includes receiving a user selection of one or more data sources. The method includes identifying a plurality of metrics corresponding to the one or more data sources. Each of the plurality of metrics has a corresponding time attribute. The method includes displaying a canvas area for adding one or more scenarios to the interactive presentation in a graphical user interface. The method includes receiving a first user input to add a first data visualization to a first visualization card in a first scenario of the interactive presentation. The method includes, in response to the first user input, when the canvas area includes a previous scenario with a second visualization card and the second visualization card has a second data visualization: calculating, for each of the plurality of metrics, a corresponding parameter measuring a variability of a value of the corresponding metric. The method includes identifying a first subset of metrics from the plurality of metrics based on the calculated parameters. The method includes generating a corresponding data visualization for each metric in the first subset of metrics. The method includes identifying a first metric in the plurality of metrics that corresponds to the second data visualization. The method includes determining whether the first subset of metrics includes the first metric. The method includes displaying a plurality of generated data visualizations in a recommendation area of a graphical user interface based on the determination.
[0040] In some implementations, generating the corresponding data visualization includes obtaining (i) a metric definition corresponding to the corresponding data visualization and / or (ii) data corresponding to the metric.
[0041] In some implementations, displaying the plurality of generated data visualizations in accordance with the determination includes, when the first subset of metrics includes the second metric, lowering a priority of the second metric in the first subset.
[0042] In some implementations, the plurality of data visualizations are displayed as a list in the recommendation area. Lowering the priority of the second metric includes changing an order in which the second data visualizations are displayed in the list.
[0043] In some implementations, lowering the priority of the second metric includes excluding the second visualization from the displayed plurality of data visualizations.
[0044] In some implementations, the method includes receiving a user selection of a first data visualization from among the plurality of data visualizations that corresponds to a second metric from the subset of metrics. The method includes, in response to the user selection, populating a first visualization card with the first data visualization.
[0045] In some implementations, the first data visualization includes data values that span a first date / time range. The method includes: after populating the first visualization card with the first data visualization, receiving a second user input to add a third visualization card in the first scenario. The method includes: in response to the second user input, generating one or more visualization recommendations for the third visualization card. The one or more visualization recommendations include one of the following: a first visualization recommendation that filters the values of the first metric to a subset of data values corresponding to a second date / time range that is narrower than the first date / time range; or a second visualization recommendation that spans an entire time period of one or more data sources.
[0046] In some implementations, the subset of data values corresponds to a local maximum or a local minimum of the first data visualization.
[0047] In some implementations, the method also includes identifying a subset of data values using a moving average algorithm, generating a first line graph including the subset of data values, and displaying the first line graph in the recommendation area.
[0048] In some implementations, the one or more data sources include a second metric having a categorical data field. The method also includes: generating a line graph having a plurality of lines, each of the lines corresponding to a different data value of the categorical data field; and displaying the line graph in the recommendation area.
[0049] In some implementations, the graphical user interface includes a data schema and filter panel displaying a plurality of metrics. The method also includes receiving a user selection of a second metric from among the plurality of metrics in the data schema and filter panel. The method includes: in response to the user selection, displaying a second data visualization corresponding to the second metric in a recommendation area.
[0050] In some implementations, the graphical user interface includes a data mode and filter panel displaying a plurality of metrics. The method also includes receiving a user selection of a second metric and a third metric from the plurality of metrics in the data mode and filter panel. The method includes, in response to the user selection: generating a second data visualization including two lines corresponding to the second metric and the third metric, respectively. The method includes displaying the second data visualization in a recommendation area.
[0051] In some implementations, each data visualization in the plurality of data visualizations is a line graph that depicts changes in a value of a corresponding metric over a date / time range corresponding to the corresponding metric.
[0052] In some implementations, identifying the first subset of metrics includes arranging the plurality of metrics in descending order based on the calculated parameter and identifying the first subset of metrics according to the arrangement.
[0053] In some implementations, identifying the first subset of metrics includes determining that each metric in the first subset of metrics has a coefficient of variation that exceeds a predetermined threshold.
[0054] According to some implementations, a method for demonstrating time series metrics is performed at a computing device having a display, one or more processors, and a memory. The memory stores one or more programs configured to be executed by the one or more processors. The method includes displaying a canvas area including one or more scenarios in a graphical user interface. The one or more scenarios include a first scene having a first visualization card. The method includes displaying a recommendation area including one or more data visualizations in the graphical user interface. Each of the one or more data visualizations corresponds to a corresponding metric of a data source. Each metric has a corresponding time attribute. The method includes displaying a scenario overview in the graphical user interface, the scenario overview including, for each of the one or more scenarios: (i) a corresponding count of visualization cards corresponding to the scenario; (ii) a corresponding count of text cards corresponding to the scenario; (iii) a corresponding count of unique metrics corresponding to the scenario; and (iv) a corresponding cumulative time span corresponding to the scenario.
[0055] In some implementations, the corresponding cumulative time span is displayed as a graphical element having a length proportional to the cumulative time span.
[0056] In some implementations, the one or more data visualizations include a first data visualization having a first time granularity. The method also includes receiving a user specification of a second time granularity for the first data visualization, the second time granularity being different from the first time granularity. Based on the user specification, the method updates the data tags in the first data visualization to include a subset of the data tags corresponding to the second time granularity.
[0057] In some implementations, the method further includes displaying the data mode and filter panel in a graphical user interface. The user specification includes a user selection of a user interface element in the data mode and filter panel that corresponds to the second time granularity.
[0058] In some implementations, the method also includes displaying the plurality of metrics in a data mode and filter panel of the graphical user interface.
[0059] In some implementations, the plurality of metrics correspond to one or more data sources. The method further includes determining a start date and an end date corresponding to the plurality of metrics from the one or more data sources. The method displays the start date and the end date in a data model and filter panel.
[0060] In some implementations, the one or more data visualizations include a first data visualization having a timeline field, the timeline field including a start date and an end date. The method also includes receiving user input to modify the start date and / or the end date. The method includes, based on the user input: modifying the timeline field of the first data visualization based on the modified start date and / or the end date. The method displays the updated first data visualization with the modified timeline field in the recommendation area.
[0061] In some implementations, the first data visualization includes a plurality of data markers, the plurality of data markers including data markers corresponding to a start date and an end date. The first data visualization is updated to include a subset of the plurality of data markers filtered according to the modified timeline domain.
[0062] In some implementations, the first data visualization is a line graph.
[0063] In some implementations, the method receives user input to add a first data visualization corresponding to the first metric to a first visualization card. The method includes, in response to the user selection, updating a display of the first visualization card to include the first data visualization.
[0064] In some implementations, the method includes updating the scenario overview by incrementing respective counts of unique metrics corresponding to the first scenario when the first data visualization corresponds to a different metric in the first scenario.
[0065] In some implementations, the method includes, in response to the user selection, updating the scenario overview by incrementing a corresponding count of a visualization card corresponding to the first scenario.
[0066] In some implementations, the first scene includes a second visualization card adjacent to the first visualization card. The second visualization card has a second data visualization. The method includes receiving a user input specifying to merge the first data visualization with the second data visualization. The method includes: in response to the user input, merging the first data visualization and the second data visualization into a single data visualization when (i) the first data visualization and the second data visualization share a common time period and (ii) there is a substantial overlap between a first range of values on a vertical axis of the first data visualization and a second range of values on a vertical axis of the second data visualization.
[0067] In some implementations, the method includes: generating one or more data visualizations before displaying the one or more data visualizations in the recommendation area. The generating includes: identifying a plurality of metrics corresponding to a data source, each of the plurality of metrics having a corresponding time attribute; calculating, for each of the plurality of metrics, a corresponding parameter measuring a variability of a value of the corresponding metric; identifying a metric subset from the plurality of metrics based on the calculated parameter; obtaining a corresponding data visualization for each metric in the metric subset; and displaying the one or more obtained data visualizations in the recommendation area.
[0068] In some implementations, generating one or more data visualizations further includes: when the canvas area includes a second scene having a second visualization card and the second visualization card has a second data visualization: (i) determining a second metric from a plurality of metrics that corresponds to the second data visualization; (ii) determining whether a subset of metrics includes the second metric; and (iii) when the subset of metrics includes the second metric, lowering a priority of the second metric in the subset.
[0069] According to some implementations, a method for combining visualization cards in a time series metric presentation is performed at a computing device having a display, one or more processors, and a memory. The memory stores one or more programs configured to be executed by the one or more processors. The method includes displaying a canvas area including a first scene in a graphical user interface. The first scene includes a first visualization card having a first data visualization and a second visualization card adjacent to the first visualization card. The second visualization card has a second data visualization. The method includes receiving user input specifying that the first data visualization be merged with the second data visualization. The method includes: in response to the user input, when (i) the first data visualization and the second data visualization share a common time period and (ii) there is a substantial overlap between a first value range on a vertical axis of the first data visualization and a second value range on a vertical axis of the second data visualization, merging the first data visualization and the second data visualization into a single data visualization.
[0070] In some implementations, the first range of values has a first unit of measurement. The second range of values has a second unit of measurement that is different from the first unit of measurement.
[0071] In some implementations, the method also includes displaying, using a single data visualization, a legend that includes the first unit of measurement and the second unit of measurement.
[0072] In some implementations, the single data visualization includes a horizontal axis having a common time period and a vertical axis having a range of values that is common to the first range of values and the second range of values.
[0073] In some implementations, the method also includes displaying a single data visualization on the first visualization card.
[0074] In some implementations, displaying the single data visualization on the first data visualization card includes removing the second visualization card from the first scene.
[0075] In some implementations, the first visualization card is positioned to the left of the second visualization card in the first scene.
[0076] In some implementations, each of the first data visualization and the second data visualization is a line graph.
[0077] In some implementations, the single data visualization is a line graph consisting of two lines.
[0078] In some implementations, a method determines whether (i) a first data visualization includes a first range of values on a vertical axis and (ii) a second data visualization includes a second range of values on the vertical axis that is substantially different from the first range of values. In this case, when a first user input selects the vertical axis of the first data visualization, the method displays a user-selectable interface element adjacent to the vertical axis of the first data visualization for transforming values on the vertical axis from absolute values to relative values. The method includes receiving a first user selection of the user-selectable interface element. The method includes: in response to the first user selection, transforming the first range of values to a relative scale relative to a first value appearing in the first data visualization. The method includes: in response to a second user input selecting the vertical axis of the second data visualization, displaying the user-selectable interface element adjacent to the vertical axis of the second data visualization. The method includes receiving a second user selection of the user-selectable interface element. The method includes: in response to the second user selection, transforming the second range of values to a relative scale relative to the first value appearing in the second data visualization. The method includes receiving a third user input specifying that the first data visualization be merged with the second data visualization. The method includes merging the first data visualization and the second data visualization into a single data visualization based on a third user input.
[0079] In some implementations, the method further includes displaying in the graphical user interface a recommendation area including one or more data visualizations. Each of the one or more data visualizations corresponds to a respective metric of the data source, the respective metric having a respective time attribute.
[0080] According to some implementations, a method for linking text and visualization in a time series metric presentation is performed at a computing device having a display, one or more processors, and a memory. The memory stores one or more programs configured to be executed by the one or more processors. The method includes displaying a canvas area including a first scene in a graphical user interface. The first scene includes a first visualization card having a first data visualization and a first text card adjacent to the first visualization card. The method includes receiving (i) text input from a user and (ii) a user selection of a first user interface element via the first text card for linking the first text card to the first visualization card. The method includes: based on receiving, determining whether the text input includes a first expression having a first time span that intersects a time domain of the first data visualization. The method includes: based on determining that the text input includes the first expression, and in response to a first user interaction with a first area of the first text card including the first expression, visually emphasizing a first portion of the first data visualization corresponding to the first time span.
[0081] In some implementations, the method also includes visually fading other portions of the first data visualization concurrently with visually emphasizing the first portion of the first data visualization.
[0082] In some implementations, the first data visualization is a line graph.
[0083] In some implementations, visually emphasizing the first portion of the first data visualization includes displaying a portion of the line graph that corresponds to the first time span.
[0084] In some implementations, the first scene includes a second visualization card having a second data visualization. The method also includes receiving a user selection of a second user interface element via the first text card to link the first text card to the second visualization card. The method includes determining that a first time span included in the first expression intersects a time domain of the second data visualization. The method includes receiving a second user interaction with a first area of the first text card. The method includes: in response to the second user interaction, visually emphasizing (i) a first portion of the first data visualization and (ii) a second portion of the second data visualization simultaneously, the first portion and the second portion corresponding to the first time span.
[0085] In some implementations, the first text card is positioned between the first visualization card and the second visualization card.
[0086] In some implementations, each of the first data visualization and the second data visualization is a line graph.
[0087] In some implementations, the first scene includes a second visualization card having a second data visualization. The text input includes a second expression different from the first expression. The second expression includes a second time span. The method also includes receiving a user selection of a second user interface element via the first text card for linking the first text card to the second visualization card. The method includes determining that the second expression intersects a time domain of the second data visualization. The method includes receiving a second user interaction with a second area of the first text card that includes the second expression. The method includes: in response to the second user interaction, simultaneously (i) visually emphasizing a portion of the second data visualization corresponding to the second time span and (ii) displaying the entirety of the first data visualization.
[0088] In some implementations, the first text card includes a plurality of text input elements, and a text input from a user is received via the plurality of text input elements.
[0089] In some implementations, the plurality of text input elements include a first text input element and a second text input element. The first expression is located in the first text input element. The second expression is located in the second text input element.
[0090] In some implementations, the method further includes displaying a recommendation area in a graphical user interface that includes one or more data visualizations. Each of the one or more data visualizations corresponds to a corresponding metric of the data source. The corresponding metric has a corresponding time attribute.
[0091] According to some implementations, a method for demonstrating time series metrics is performed at a computing device having a display, one or more processors, and a memory. The memory stores one or more programs configured to be executed by the one or more processors. The method includes displaying a canvas area including a first scene in a graphical user interface. The first scene has a first visualization card. The method includes displaying a recommendation area including one or more data visualizations in the graphical user interface. Each of the one or more data visualizations corresponds to a corresponding metric in one or more metrics of a data source. The corresponding metric has a corresponding time attribute. The method includes receiving a user selection to add a first data visualization corresponding to a first metric in the one or more metrics to the first visualization card. The method includes: in response to the user selection, updating the display of the first visualization card to include the first data visualization.
[0092] In some implementations, the method includes: generating one or more data visualizations prior to displaying the one or more data visualizations. Generating the one or more data visualizations includes obtaining, for each of the one or more data visualizations, a metric definition of a respective metric corresponding to the respective data visualization.
[0093] In some implementations, the first data visualization is a line graph.
[0094] In some implementations, the method further includes: after updating the display of the first visualization card to include the first data visualization, receiving a user interaction with the first visualization card, the user interaction also specifying a split point on the timeline of the first data visualization. The method includes: in response to the user interaction, displaying one or more user-selectable interface elements for filtering the date / time range of the first data visualization. The one or more user-selectable interface elements include one or more of the following: a first user-selectable interface element that, when selected, retains data points of the first data visualization before the split point; a second user-selectable interface element that, when selected, retains data points of the first data visualization after the split point; and a third user-selectable interface element that, when selected, (i) retains the data points of the first data visualization before the split point on the first visualization card and (ii) displays the data points of the first data visualization after the split point on a second visualization card adjacent to the first visualization card.
[0095] In some implementations, the first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value. The method also includes, in response to a user selection of the first user-selectable interface element, generating an updated first data visualization including an updated timeline having values spanning from (i) the start date / time value to (ii) a date / time value corresponding to the split point. The method includes displaying the updated first data visualization on the first visualization card.
[0096] In some implementations, the first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value. The method also includes, in response to a user selection of a second user-selectable interface element, generating an updated first data visualization including an updated timeline having values spanning from (i) a date / time value corresponding to a split point to (ii) the end date / time value. The method includes displaying the updated first data visualization on the first visualization card.
[0097] In some implementations, the first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value. The method also includes, in response to a user selection of a third user-selectable interface element, generating an updated first data visualization including an updated timeline having values spanning from (i) the start date / time value to a first date / time value corresponding to a split point. The method includes generating a second data visualization including a timeline having values spanning from (ii) the first date / time value to (ii) the end date / time value. The method includes simultaneously (i) displaying the updated first data visualization on a first visualization card and (ii) displaying the second data visualization on a second visualization card adjacent to the first visualization card.
[0098] In some implementations, the method further includes: after updating the display of the first visualization card to include the first data visualization, receiving a user interaction with the first data visualization on the first visualization card. The user interaction also specifies a date / time range on a timeline of the first data visualization. The method includes: in response to the user interaction, displaying a plurality of user-selectable interface elements for filtering the date / time range of the first data visualization. The plurality of user-selectable interface elements include: a first user-selectable interface element that, when selected, retains data points of the first data visualization within the date / time range specified via the user interaction; and a second user-selectable interface element that, when selected, retains data points of the first data visualization outside the date / time range specified via the user interaction.
[0099] In some implementations, the date / time range specified via user interaction spans from a first date / time value to a second date / time value. The method also includes, in response to a user selection of the first user-selectable interface element, generating an updated first data visualization including an updated timeline having values spanning from the first date / time value to the second date / time value. The method includes displaying the updated first data visualization on the first visualization card.
[0100] In some implementations, the first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value. The date / time range spans from the first date / time value to a second date / time value. The method also includes: in response to a user selection of a second user-selectable interface element, generating an updated first data visualization including an updated timeline, the updated timeline having values spanning from the start date / time value to the first date / time value. The method includes generating a second data visualization including a timeline, the timeline having values spanning from the second date / time value to the end date / time value. The method includes simultaneously (i) displaying the updated first data visualization on a first visualization card and (ii) displaying the second data visualization on a second visualization card adjacent to the first visualization card.
[0101] In some implementations, the method further includes receiving a user interaction with a vertical axis of a first data visualization in a first visualization card. The method includes: in response to the user interaction, displaying a plurality of user-selectable interface elements. The plurality of user-selectable interface elements include: (1) a first user-selectable interface element that, when selected, switches back and forth between (i) a first vertical axis scale starting at zero and (ii) a second vertical axis scale starting at a minimum value; and (2) a second user-selectable interface element that, when selected, switches back and forth between (i) a third vertical axis scale having absolute values and (ii) a fourth vertical axis scale having relative values indexed relative to a first value appearing in the first data visualization.
[0102] In some implementations, the method further includes: after updating the display of the first visualization card to include the first data visualization, receiving a user interaction with a timeline of the first data visualization on the first visualization card. The method includes: in response to the user interaction, displaying a plurality of user-selectable interface elements. The plurality of user-selectable interface elements includes a first user-selectable interface element that, when selected, switches back and forth between (i) a first timeline scale having absolute date / time values and (ii) a second timeline scale having relative dates relative to the first date in the first data visualization.
[0103] In some implementations, the method further includes, after updating the display of the first visualization card to include the first data visualization, when the first scene includes a second visualization card adjacent to the first visualization card and the second visualization card has a second data visualization: in response to a user selection of a timeline of the second data visualization, displaying a user-selectable element. The method includes receiving a user selection of the user-selectable element. The method includes: in response to the user selection of the user-selectable element, generating an updated second data visualization having an updated timeline, the updated timeline having data values that match data values of the timeline of the first data visualization. The method includes displaying the updated second data visualization.
[0104] In some implementations, the method further includes, after updating the display of the first visualization card to include the first data visualization, when the first scene includes a second visualization card adjacent to the first visualization card and the second visualization card has a second data visualization: in response to a user selection of a vertical axis of the second data visualization, displaying a user-selectable element. The method includes receiving a user selection of the user-selectable element. The method includes: in response to the user selection of the user-selectable element, generating an updated second data visualization with an updated vertical axis, the updated timeline having data values that match the data values of the vertical axis of the first data visualization. The method includes displaying the updated second data visualization.
[0105] In some implementations, a computing device includes a display, one or more processors, a memory, and one or more programs stored in the memory. The programs are configured to be executed by the one or more processors. The one or more programs include instructions for executing any of the methods described herein.
[0106] In some implementations, a non-transitory computer-readable storage medium stores one or more programs configured to be executed by a computing device having one or more processors and a memory. The one or more programs include instructions for performing any of the methods described herein.
[0107] Thus, disclosed herein are methods, systems, and graphical user interfaces that enable users to collect, annotate, and structure narratives about a collection of self-organizing metrics.
[0108] It should be noted that the various implementations described above can be combined with any other implementations described herein. The features and advantages described in the specification are not all-inclusive, and in particular, many additional features and advantages will be apparent to those of ordinary skill in the art based on the drawings, the specification, and the claims. In addition, it should be noted that the language used in the specification is primarily selected for readability and instructional purposes, and may not be selected to limit or delimit the subject matter of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0109] To better understand the aforementioned systems, methods, and graphical user interfaces, as well as additional systems, methods, and graphical user interfaces that provide data visualization analysis, the following detailed description should be referenced in conjunction with the following figures, wherein like reference numerals refer to corresponding parts throughout the figures.
[0110] Figure 1A and Figure 1B A graphical user interface according to some implementations is shown.
[0111] Figure 2 is a block diagram of a computing device according to some implementations.
[0112] Figure 3 is a block diagram of a server system according to some implementations.
[0113] 4A to 4H A series of screenshots for managing scenes in a graphical user interface according to some implementations are provided.
[0114] FIG. 5A to FIG. 5I A series of screenshots for managing cards in a graphical user interface according to some implementations are provided.
[0115] 6A to 6FA series of screenshots for selecting metrics to populate a visualization card are provided according to some implementations.
[0116] FIG. 7A to FIG. 7D A series of screenshots are provided for interacting with a graphical user interface to specify date / time granularity according to some implementations.
[0117] FIG. 8A to FIG. 8D A series of screenshots are provided for interacting with a graphical user interface to specify a date / time range according to some implementations.
[0118] Fig. 9 An algorithm outlining RemixTape's recommendation logic according to some implementations is provided.
[0119] FIG. 10A to FIG. 10K A series of screenshots for interacting with a graphical user interface to specify a recommended action according to some implementations are provided.
[0120] FIG. 11A to FIG. 11J A series of screenshots for interacting with visualization cards according to some implementations are provided.
[0121] FIG. 12A to FIG. 12K A series of screenshots for interacting with visualization cards according to some implementations are provided.
[0122] FIG. 13A to FIG. 13H A series of screenshots for interacting with visualization cards according to some implementations are provided.
[0123] FIG. 14A to FIG. 14H A series of screenshots for interacting with visualization cards according to some implementations are provided.
[0124] FIG. 15A to FIG. 15H A series of screenshots for interacting with visualization cards according to some implementations are provided.
[0125] FIG. 16A to FIG. 16N A series of screenshots for interacting with a graphical user interface according to some implementations are provided.
[0126] FIG. 17A to FIG. 17D A series of screenshots for interacting with a graphical user interface according to some implementations are provided.
[0127] 18A to 18F A flowchart of a method for recommending a visualization for an interactive presentation of a time series metric according to some implementations is provided.
[0128] FIG. 19A to FIG. 19E A flowchart of a method for recommending a visualization for an interactive presentation of a time series metric according to some implementations is provided.
[0129] FIG. 20A to FIG. 20E A flowchart is provided for demonstrating a method of time series metrics according to some implementations.
[0130] FIG. 21A to FIG. 21C A flowchart of a method for combining data visualizations on visualization cards in a time series metric presentation according to some implementations is provided.
[0131] FIG. 22A to FIG. 22D A flowchart of a method for linking text and visualization in a time series metric presentation according to some implementations is provided.
[0132] FIG. 23A to FIG. 23H A flowchart is provided for demonstrating a method of time series metrics according to some implementations.
[0133] Reference will now be made to implementations, examples of which are illustrated in the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that the present invention may be practiced without these specific details. DETAILED DESCRIPTION
[0134] Figure 1A and Figure 1B A graphical user interface 100 for interactive presentation of metrics (eg, time series metrics) is shown according to some implementations. In some implementations, the graphical user interface 100 is displayed on a computing device 200.
[0135] Figure 1A The user interface 100 is shown to include a data mode and filter panel 102 , a recommendations area 104 , and a canvas area 106 , according to some implementations.
[0136] In some implementations, the data pattern and filter panel 102 displays one or more groups of identifiers 108 (e.g., labels) corresponding to one or more metrics 120. As used herein, a metric is a univariate quantitative value that changes over time. In some cases, a metric 120 is a calculated data field with a value that changes over time. In other words, a metric 120 is a calculation (e.g., an aggregation) based on a metric data field (e.g., a quantitative data field or a numerical data field) over time. Typical aggregation operations include sum, average, count, distinct count, minimum, and maximum. In some implementations, metrics 120 are also referred to as time-oriented data or time series metrics. For example, Figure 1AOne of the metrics 120 is shown to be "average wind speed," which is calculated by adding a set of numbers (e.g., wind speed) over a period of time (e.g., 30 days, 12 months, or 3 years) and then dividing by the count of measurements. Other examples of metrics include key performance indicators (KPIs) of an organization, such as revenue (e.g., over time), expenses (e.g., over time), profits (e.g., over time), and sales (e.g., over time).
[0137] In some implementations, each of identifiers 108 is a user-selectable interface element (e.g., an icon, button, affordance, or input element) that, when selected (e.g., manually by a user), causes computing device 200 to generate and display (e.g., in recommendation area 104) a data visualization corresponding to the corresponding metric.
[0138] In some implementations, metrics 120 and their definitions and / or associated data may be obtained (e.g., exported) from a data source 240, a cloud-based metric definition repository (e.g., database 340), a unified shared metrics layer provided by an API 248, a visualization worksheet 246, a workbook 244, or determined on the fly.
[0139] exist Figure 1A In the example of , the metrics 120 come from two sources: daily weather conditions for Seattle (Washington, WA) from the National Oceanic and Atmospheric Administration (NOAA), and monthly home sales for Seattle from Redfin. The metrics 120 can be associated with different time periods and / or time granularities.
[0140] Figure 1A In some implementations, the data mode and filter panel 102 displays a date / time granularity filter 110 that enables a user to adjust the time granularity (e.g., date / time granularity) of the data visualization. This will be displayed in FIG. 7A to FIG. 7D Described in more detail in .
[0141] In some implementations, such as Figure 1A As shown, the data pattern and filter panel 102 displays a date / time range filter 112 that enables a user to adjust (e.g., edit or modify) the date / time range of a data visualization. In some implementations, the date / time range filter 112 allows a user to constrain the time span of a metric before adding the metric's time span to a visualization card. In some implementations, the computing device 200 determines the entire date / time range of the metric 120 displayed in the data pattern and filter panel 102 and populates the start date 114 and the end date 116 based on the determination. FIG. 8A to FIG. 8D Further details of the date / time range filter 112 are described in .
[0142] Figure 1A The graphical user interface 100 is shown to include a recommendation area 104 for displaying one or more data visualization recommendations. Fig. 9 and FIG. 10A to FIG. 10K The details of the recommended regions and visual recommendations are described in more detail in .
[0143] In some implementations, the graphical user interface 100 includes a canvas area 106 (eg, a canvas) for displaying one or more scenes 118. For example, Figure 1A Two scenes (e.g., a first scene 118-1 and a second scene 118-2) are shown displayed on the canvas area 106. In some cases, the scenes 118 include one or more text cards 122. For example, the first scene 118-1 includes two text cards 122-1 and 122-2. In some cases, the scenes 118 include one or more visualization cards 124. For example, the first scene 118-1 includes two visualization cards 124-1 and 124-2. In some cases, the visualization cards 124 are blank cards without any data visualization. In some cases, the visualization cards 124 include (e.g., display) data visualizations. For example, the visualization card 124-1 displays the data visualization 126.
[0144] In some implementations, text cards and / or visualization cards within a scene are numbered sequentially according to the order in which they appear in the scene. Figure 1A It is shown that the cards in the first scene 118 - 1 are sequentially numbered “1.1, 1.2, 1.3, . . . ” The cards in the second scene 118 - 2 are sequentially numbered “2.1 and 2.2”.
[0145] Figure 1A The graphical user interface is shown to include an icon 128 (eg, a button or user-selectable interface element). In some implementations, user selection of the icon 128 causes the graphical user interface to display a scenario overview 130, such as Figure 1B As shown. The scenario overview 130 summarizes all scenarios on the canvas. In some implementations, the scenario overview 130 includes, for each scenario 118 in the canvas area 106: a corresponding count of visualization cards corresponding to the scenario, and / or a corresponding count of text cards corresponding to the scenario, and / or a corresponding count of unique (e.g., different) metrics corresponding to the scenario, and / or a corresponding cumulative time span corresponding to the scenario.
[0146] exist Figure 1BIn the example of , the scenario overview 130 includes a corresponding box 132 (e.g., area) for each scene 118 that appears in the canvas area 106. The first box 132-1 corresponds to the overview of the first scene 118-1. The second box 132-2 corresponds to the overview of the second scene 118-2. Using the second box 132-2 as an example, there are four rows. The first row identifies the scene (i.e., "Scene 2"). The second row shows that there are two cards in total in Scene 2. It also breaks down the number of cards of each type (i.e., one visualization card and one text card). The third row identifies the number of unique (e.g., different) metrics that appear in the scene. In the example, the second scene 118-2 has two metrics, namely: maximum temperature and minimum temperature. The fourth row identifies the cumulative time span (e.g., time span) of the metrics. In some implementations, the cumulative time span is represented as a graphical element 136-2 (e.g., a bar or rectangle) whose length is proportional to the cumulative time span of the metrics in the scene. Note that the graphical element 136-1 in the first box 132-1 is larger, representing a larger time span. In some implementations, the graphical element 132-2 is overlaid on the graphical element 134 (such as a line). In some implementations, the graphical element has a length representing the entire date / time range of the metric 120 displayed on the data model and filter panel 102.
[0147] In some implementations, a user can reorder the scenes on the canvas area by moving (e.g., via a drag-and-drop action) the boxes 132 in the scene overview 130. For example, a user can select the second box 132-2 (e.g., via a mouse click), press the mouse button, and move the box 132-2 to a position above the first box 132-1 to reorder the second scene to the first scene.
[0148] A. Block Diagram
[0149] Figure 2 2 is a block diagram illustrating a computing device 200 that can display a graphical user interface 100 according to some implementations. Various examples of computing device 200 include desktop computers, laptop computers, tablet computers, and other computing devices with a display and a processor capable of running a data visualization application 230. Computing device 200 typically includes one or more processing units (processors or cores) 202, one or more network or other communication interfaces 204, memory 206, and one or more communication buses 208 for interconnecting these components. In some implementations, communication bus 208 includes circuits (sometimes referred to as a chipset) that interconnect and control communications between system components.
[0150] The computing device 200 includes a user interface 210. The user interface 210 typically includes a display device 212. In some implementations, the computing device 200 includes an input device, such as a keyboard, a mouse, and / or other input buttons 216. Alternatively or additionally, in some implementations, the display device 212 includes a touch-sensitive surface 214, in which case the display device 212 is a touch-sensitive display. In some implementations, the touch-sensitive surface 214 is configured to detect various swipe gestures (e.g., continuous gestures in the vertical and / or horizontal directions) and / or other gestures (e.g., single click / double click). In a computing device with a touch-sensitive display 214, a physical keyboard is optional (e.g., a soft keyboard can be displayed when keyboard input is required). The user interface 210 also includes an audio output device 218, such as a speaker or an audio output connection connected to a speaker, a headset, or a headset. In addition, some computing devices 200 use a microphone 220 and voice recognition to supplement or replace the keyboard. In some implementations, computing device 200 includes an audio input device 220 (eg, a microphone) for capturing audio (eg, speech from a user).
[0151] In some implementations, the memory 206 includes a high-speed random access memory, such as DRAM, SRAM, DDRRAM, or other random access solid-state memory devices. In some implementations, the memory 206 includes a non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. In some implementations, the memory 206 includes one or more storage devices located away from the processor 202. The memory 206 (or alternatively, a non-volatile memory device within the memory 206) includes a non-transitory computer-readable storage medium. In some implementations, the memory 206 or a computer-readable storage medium of the memory 206 stores the following programs, modules, and data structures, or a subset or superset thereof:
[0152] An operating system 222, which includes programs for handling various basic system services and for performing hardware-related tasks;
[0153] A communication module 224 for connecting the computing device 200 to other computers and devices via one or more communication interfaces 204 (wired or wireless) such as the Internet, other wide area networks, local area networks, metropolitan area networks, etc.;
[0154] A web browser 226 (or other application capable of displaying web pages), which enables a user to communicate with a remote computer or device over a network;
[0155] An audio input module 228 (e.g., a microphone module) that processes audio captured by the audio input device 220. The captured audio may be sent to a remote server (e.g., server system 300) and / or processed by an application (e.g., application 230 or natural language processor 232) executing on the computing device 200;
[0156] An application 230 (e.g., RemixTape) that collects, annotates, and structures narratives about the set of metrics 120. In some implementations, the application 230 includes:
[0157] o Graphical user interface 100 for users to construct visual graphics (e.g., text and graphs);
[0158] o a recommendation engine 232 for generating visualization recommendations based on context (e.g., based on which metrics are currently shown in the canvas area 106); and
[0159] o a generation module 234 for automatically generating and displaying text cards 122, visualization cards 124, and / or visual graphics (also referred to as “data visualizations” or “data viz”) based on user input and / or recommendations from the recommendation engine 232;
[0160] A natural language processor 236 that receives and parses natural language input provided by a user. In some implementations, the natural language input is provided by the user via a text card 122. In some implementations, the natural language processor 236 includes an off-the-shelf library (e.g., SUTime) that recognizes and normalizes time expressions in the user input. Details of SUTime can be found in AX Chang and CD Manning, “SUTime: A library for recognizing and normalizing time expressions,” Proceedings of the International Conference on Language Resources and Evaluation (LREC), 2012, which is incorporated herein by reference in its entirety;
[0161] · Zero or more databases or data sources 240 (e.g., a first data source 240-1) that are used by the application 230. The data source may include one or more data fields and / or data values associated with the data fields. The data fields may include dimension data fields (e.g., categorical data fields with categorical data values). The data fields may include metric data fields (e.g., quantitative data fields). In some implementations, the data sources are stored as spreadsheet files, CSV files, XML files, flat files, or JSON files, or are stored in a relational database. For example, a user selects one or more databases or data sources 240 (which may be stored on the computing device 200 or stored remotely), selects metrics from the data sources, and defines a visual graphic using the selected metrics;
[0162] Data 242, including:
[0163] o zero or more workbooks 244 (eg, a first workbook 244 - 1 ) (eg, Tableau workbooks);
[0164] o Zero or more tables 246 (e.g., first table 246-1) contained in the workbook. In some implementations, a table is a worksheet, a dashboard, or a dynamic. In some implementations, a table specifies one or more metrics, metric definitions, and / or data associated with a metric. In some implementations, a table specifies how a metric will be represented visually (e.g., text indicator + line graph vs. text indicator alone). In some implementations, a metric appears in a server system 300 (e.g., Tableau Cloud / Server) as a sibling of a workbook in the same folder;
[0165] o Zero or more metrics 120 and their associated definitions and / or data, which are favorited or added to the user's ad hoc collection. These metrics can be associated with one or more workbooks, folders, and / or data sources, or determined on the fly;
[0166] o Zero or more presentations 250 (e.g., first presentation 250-1) of time series metrics. In some implementations, presentation 250 includes one or more scenes (e.g., first scene 118-1) and content 252 associated with the scenes (e.g., content 252-1 corresponding to first scene 118-1). The content may include metrics used in the scenes, text cards, visualization cards, and / or the sequence in which the cards are presented in the scenes; and
[0167] • API 248, which can be called from one or more applications (eg, web browser 226 and application 230), and performs one or more actions.
[0168] Each of the executable modules, applications or program sets identified above can be stored in one or more memory devices in the previously mentioned memory devices, and corresponds to an instruction set for performing the above functions. The modules or programs (i.e., instruction sets) identified above do not need to be implemented as separate software programs, programs or modules, and therefore various subsets of these modules can be combined or otherwise rearranged in various implementations. In some implementations, memory 206 stores a subset of the modules and data structures identified above. In addition, memory 206 can store additional modules or data structures not described above. In some implementations, a subset of programs, modules and / or data stored in memory 206 is stored on server system 300 and / or executed by it.
[0169] although Figure 2 Computing device 200 is shown, but Figure 2 It is intended more as a functional description of various features that may be present rather than as a schematic diagram of the architecture of the implementations described herein. In practice, and as recognized by one of ordinary skill in the art, items shown separately may be combined, and some items may be separated.
[0170] Figure 3 is a block diagram illustrating an exemplary server system 300 (e.g., Tableau Server) according to some implementations. In some implementations, the server system 300 is a data visualization server. The server system 300 typically includes one or more processing units / cores (CPUs) 302, one or more network interfaces 304, memory 314, and one or more communication buses 312 for interconnecting these components. In some implementations, the server system 300 includes a user interface 306, which includes a display 308 and one or more input devices 310, such as a keyboard and mouse. In some implementations, the communication bus 312 includes circuits (sometimes referred to as a chipset) that interconnect and control communications between system components.
[0171] In some implementations, the memory 314 includes high-speed random access memory, such as DRAM, SRAM, DDRRAM, or other random access solid-state memory devices; and may include non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. In some implementations, the memory 314 includes one or more storage devices located away from the CPU 302. The memory 314 (or alternatively, the non-volatile memory device within the memory 314) includes a non-transitory computer-readable storage medium.
[0172] In some implementations, the memory 314 or the computer-readable storage medium of the memory 314 stores the following programs, modules, and data structures, or a subset thereof:
[0173] An operating system 316, which includes programs for handling various basic system services and for performing hardware-related tasks;
[0174] A network communication module 318 for connecting the server 300 to other computers via one or more communication network interfaces 304 (wired or wireless) and one or more communication networks (such as the Internet, other wide area networks, local area networks, metropolitan area networks, etc.);
[0175] A web server 320 (such as an HTTP server), which receives web requests from users and responds by providing responsive web pages or other resources;
[0176] A web application 330 (e.g., the RemixTape web application), which can be downloaded and executed by a web browser 226 on a user's computing device 200. Generally speaking, the web application 330 has the same functionality as the desktop application 230, but provides the flexibility of being accessed from any device with network connectivity at any location, and does not require installation and maintenance. In some implementations, the web application 330 includes various software modules for performing certain tasks, such as:
[0177] o User interface module 332, which provides the user interface for all aspects of web application 330;
[0178] o a data acquisition module 334 that builds and executes queries to acquire data from one or more data sources 240, workbooks 244, and / or tables 246. The data sources 240, workbooks 244, and / or tables 246 may be stored locally on the server system 300 or in an external database 340. In some implementations, data from two or more data sources may be blended;
[0179] o a recommendation engine 336 that generates visualization recommendations based on context (e.g., based on which metrics are currently shown in the canvas area 106); and
[0180] o a generation module 338 that automatically generates and displays text cards 122, visualization cards 124, and / or visual graphics (also referred to as “data visualizations” or “data viz”) based on user input and / or recommendations from a recommendation engine 336; and
[0181] Natural language processor 236;
[0182] In some implementations, the server system 300 includes a database 340. The database 340 stores:
[0183] Zero or more data sources 240;
[0184] Zero or more workbooks 244;
[0185] Zero or more tables 246;
[0186] Zero or more metrics 120 and their associated definitions and / or data;
[0187] Zero or more presentations 250, such as a first presentation 250-1. In some cases, presentation 250-1 includes one or more scenes 118 (such as first scene 118-1) and content 252-1 associated with (eg, corresponding to) the scenes; and
[0188] Visualization history 342. In some implementations, database 340 stores visualization history 342 for each user. Visualization history 342 can include information about each data visualization (e.g., visualization recommendations) generated (e.g., based on which metrics are currently shown on canvas area 106). In some implementations, visualization history 342 includes information about data visualizations (e.g., metrics) selected by the user for use in a scene. In some implementations, database 350 stores other information, including other information used by application 230, web application 330, or other applications.
[0189] Database 340 may be separate from server system 300, or may be included with server system 300 (or both).
[0190] The database 340 can store data in many different formats and typically includes many different tables, each with multiple data fields. Some data sources include a single table. Data fields include both raw data fields from a data source (e.g., columns from a database table or columns from a spreadsheet) and derived data fields that can be calculated or constructed from one or more other fields. For example, derived data fields include calculating months or quarters from a date field, calculating the time span between two date fields, calculating the cumulative total of a quantitative field, calculating percentage growth, and the like. In some cases, derived data fields are accessed by a program or view stored in the database. In some implementations, the definition of derived data fields is stored separately from the data source 240.
[0191] In some implementations, server system 300 includes API 344. The API implements calls from one or more applications (eg, applications on computing device 200), converting the API calls into appropriate actions, and performing the one or more actions.
[0192] Each of the executable modules, applications or program sets identified above can be stored in one or more memory devices in the previously mentioned memory devices, and corresponds to an instruction set for performing the above functions. The modules or programs (i.e., instruction sets) identified above do not need to be implemented as separate software programs, programs or modules, and therefore various subsets of these modules can be combined or otherwise rearranged in various implementations. In some implementations, memory 314 stores a subset of the modules and data structures identified above. In addition, memory 314 can store additional modules or data structures not described above.
[0193] although Figure 3 A server system 300 is shown, but Figure 3 The present invention is intended more as a functional description of various features that may be present than as a block diagram of the implementations described herein. In practice, and as recognized by one of ordinary skill in the art, items shown separately may be combined, and some items may be separated. Additionally, some of the programs, functions, processes, or data shown above with respect to server system 300 may be stored or executed on computing device 200. In some implementations, functionality and / or data may be distributed between computing device 200 and one or more servers 300. Furthermore, those skilled in the art recognize that Figure 3 A single physical device need not be represented. In some implementations, server functionality is distributed across multiple physical devices in a server system. As used herein, references to "server" include various groups, collections, or arrays of servers that provide the described functionality, and the physical servers need not be physically collocated (e.g., individual physical devices may be dispersed throughout the United States or the world).
[0194] B. Canvas Actions
[0195] According to some implementations of the disclosure, the canvas area 106 (or canvas) is a reorderable container for scenes (e.g., scenes 118), which in turn serve as containers for cards. Scenes 118 are reorderable containers for cards, which can be text cards 122 or visualization cards 124.
[0196] In some implementations, the text card 122 includes one or more text comment statements (e.g., text comment statements entered by a user). The statement may include one or more date / time references. A date / time reference is a phrase involving a time relationship. Examples of date / time references include "before August 2020" and "between November 21, 2020 and February 3, 2021".
[0197] In some implementations, a visualization card 124 (also referred to herein as a "viz card") is a blank card or a card that includes a data visualization. The visualization card 124 is used to display a data visualization in a scene.
[0198] In some implementations, the data visualization includes a line graph (e.g., a line plot) for one or more metrics 120 and spans a date / time range at a particular time granularity (e.g., yearly granularity, year-month granularity, or year-month-day granularity).
[0199] 4A to 4H A series of screen shots for managing scenes in the graphical user interface 100 are provided according to some implementations.
[0200] FIG. 4A to FIG. 4C User interaction with the graphical user interface 100 to add a scene is shown according to some implementations. Figure 4A Canvas area 106 is shown as an empty (eg, blank) canvas that does not include any scenes. Figure 4A User interaction 402 (eg, a mouse click) with an "add scene" option 404 is shown to add a first scene to the canvas area.
[0201] Figure 4B It is shown that in response to the user interaction, the graphical user interface 100 displays the first scene 118-1. The scene 118-1 is an empty scene. The graphical user interface 100 displays a first option 406 to add a visualization card in the first scene 118-1. The graphical user interface 100 also displays a second option 408 to add a text card in the first scene 118-1. The graphical user interface 100 displays an add scene option 404 in the canvas area 106 to add a second scene to the canvas area 106. Figure 4B User interaction 410 (eg, a mouse click) at the "Add Scene" option 404 is shown to add a second scene to the canvas area.
[0202] Figure 4CIt is shown that in response to the user interaction, the graphical user interface 100 displays the first scene 118-1 and the second scene 118-2. In the example, each of the scenes 118-1 and 118-2 is an empty scene. The graphical user interface 100 also displays a first option 406 to add a viz card and a second option 408 to add a text card in each of the scenes 118-1 and 118-2.
[0203] FIG. 4D to FIG. 4F User interaction with the graphical user interface 100 to reorder scenes is shown according to some implementations. Figure 4D A user interaction with the second scene 118-2 is shown. In the example, the user hovers the mouse cursor over the edge of the box 414 corresponding to the second scene 118-2. Based on the user interaction, the graphical user interface 100 displays the icon 412. Figure 4E The user is shown pressing a mouse button and dragging (eg, by pressing a mouse button) the frame 414 over (eg, above) the first scene 118 - 1 . Figure 4F A partial view of the graphical user interface 100 is shown after the scenes have been reordered. Because the two scenes do not yet have any content, and because the scene moved to the top is relabeled as "Scene 1", the switch here is not visually obvious. The method improves the process of arranging scenes via drag-and-drop interaction.
[0204] Figure 4G and Figure 4H User interaction with the graphical user interface 100 to remove a scene is shown according to some implementations. Figure 4G A user selection 416 of the “x” button (eg, in the upper right corner) of scene 118 - 2 is shown. Figure 4H Graphical user interface 100 is shown removing scene 118 - 2 from display in response to the user interaction.
[0205] FIG. 5A to FIG. 5I A series of screenshots for managing cards in graphical user interface 100 are provided according to some implementations.
[0206] FIG. 5A to FIG. 5D An add-on card is shown according to some implementations. Figure 5A A partial view of the graphical user interface 100 including the first scene 118 - 1 is shown. Figure 5A A user selection of the first option 406 to add a viz card is shown (422). Figure 5B It is shown that in response to the user selection, the graphical user interface 100 displays the visualization card 124-3 in the first scene 118-1. In the example, the visualization card 124-3 is a blank (eg, empty) card (it has no content).
[0207] Figure 5C A user selection of the second option 408 to add a text card is shown (424). Figure 5D It is shown that in response to the user selection, the graphical user interface 100 displays the text card 122-3 in the first scene 118-1. According to some implementations, the text card 122 includes one or more text input elements 426, which enable the user to enter a text comment statement. In some cases, the statement includes one or more date / time references. Figure 5D It is shown that in some implementations, the text card 122 and / or viz card 124 includes an "x" icon 428 (e.g., a button or user-selectable interface element located on the upper right corner of the card). When selected by the user, the "x" icon removes the card from the scene.
[0208] Figure 5E and Fig. 5F A replication visualization card according to some implementations is shown. In some implementations, Figure 5E As shown, the visualization card 124 includes a copy icon 430 (e.g., a button or user-selectable interface element) (e.g., located on the upper right corner of the card). When selected by the user, the copy icon causes the interface to copy the visualization card (and the data visualization on the card (if any)) as a different card. Figure 5E User selection of the copy icon 430 is shown (432). Fig. 5F It is shown that in response to the user selection, the graphical user interface 100 displays the visualization card 124 - 3 and displays adjacent thereto (eg, to the right thereof) a second visualization card 124 - 4 , which is a copy of the original visualization card 124 - 3 . Fig. 5F Also shown is that because there is now an additional visualization card 124-4 before text card 122-3, graphical user interface 100 (eg, application 230) renumbers the cards in first scene 118-1 such that visualization card 124-4 is "Card 1.2" and text card 122-3 is "Card 1.3."
[0209] Figure 5G to Figure 5I 1 shows reordering cards according to some implementations. In some implementations, a user interacts with a card by hovering a mouse pointer over a header or title of a card (e.g., a visual card or a text card) (e.g., over "Card 1.1"). For example, Figure 5G It is shown that in response to the mouse hovering over the header "Card 1.3," graphical user interface 100 displays a move icon 434 (eg, a button, indicator, or user-selectable element) at or near the header. Figure 5H The user is shown holding the mouse pointer (eg, at icon 434) and dragging card 122-3 to the left over card 124-4. Fig.5IIt is shown that after the reordering, the text card 122 - 3 is displayed between the first visualization card 124 - 3 and the second visualization card 124 - 4 .The method improves the process of arranging cards in a scene via drag-and-drop interaction.
[0210] C. Manual specification of visualization cards
[0211] 6A to 6F A series of screenshots are provided for selecting metrics (eg, manually selecting) to populate a visualization card according to some implementations.
[0212] exist Fig. 6A In the example of FIG. 4 , graphical user interface 100 displays an indication in recommendation area 104 that visual recommendations have been disabled ( 442 ). Fig. 6A A user selection (444) of the visualization card 124-3 is shown. In the example, the visualization card 124-3 is a blank visualization card (e.g., it does not contain any data visualization). In some implementations, the user selection (444) of the visualization card 124-3 indicates (e.g., identifies) to the application 230 that a data visualization will be added to the visualization card 124-3.
[0213] Figure 6B A user selection of the first identifier 108-1 corresponding to the first metric (eg, "maximum temperature") is shown (446). For example, the user selection may include a mouse click (eg, a single click, a single click, or a double click) at the first identifier 108-1. Figure 6B It is shown that in response to the user selection, the graphical user interface 100 displays a data visualization 448-1 (e.g., a data visualization recommendation) corresponding to the selected metric (e.g., "maximum temperature") in the recommendation area 104. In the example, the data visualization 448-1 is a line graph showing the change in maximum temperature from January 2020 to June 2021.
[0214] Figure 6C A user selection of multiple metrics according to some implementations is shown. In the example, the user selects (e.g., by pressing the "Shift key" and clicking) a first identifier 108-1 corresponding to a first metric 120-1 (e.g., "maximum temperature") and a second identifier 108-2 corresponding to a second metric 120-2 (e.g., "minimum temperature"). Figure 6C In response to the user selection, the graphical user interface 100 displays a data visualization recommendation 448-2 including two lines, one corresponding to the change in maximum temperature over time and the other corresponding to the change in minimum temperature over time. The visual recommendation assists the user in the process of using the metric to establish a coherent narrative and reduces the amount of input and / or reduces user errors of selecting an inappropriate metric.
[0215] Fig.6D User selection ( 451 ) of add icon 450 - 1 (eg, a button or user-selectable interface element) is shown to add visualization recommendation 448 - 2 to visualization card 124 - 3 . Fig. 6E In response to the user selection, graphical user interface 100 is shown displaying updated visualization card 124-3 including data visualization 452-1 corresponding to visualization recommendation 448-2. Visual recommendations assist users in the process of using metrics to build a coherent narrative and reduce the amount of input and / or reduce user errors of selecting inappropriate metrics.
[0216] Fig. 6E Also shown is a user selection (454) of a second move icon 450-2 (e.g., a button or user-selectable interface element) to add lower visualization recommendation 448-1 to the card. In the example, because the user has selected viz card 124-3 (e.g., the user has not yet selected another visualization card), computing device 200 (e.g., application 230) replaces data visualization 452-1 displayed on viz card 124-3 with data visualization 452-2 corresponding to visualization recommendation 448-1. This Fig. 6F Shown in.
[0217] FIG. 7A to FIG. 7D A series of screenshots are provided for interacting with the graphical user interface 100 to specify date / time granularity according to some implementations.
[0218] According to some implementations of the disclosure, a user may specify a desired time granularity (eg, day, month, or year). In some implementations, the user specification is received via the data mode and filter panel 102 .
[0219] Fig. 7A A user selection of visualization card 124 - 3 is shown ( 462 ). Figure 7B A user selection of an identifier 108-1 corresponding to a metric (e.g., "maximum temperature") is shown. In response to the user selection of the identifier 108-1, the graphical user interface 100 displays a data visualization recommendation 448-3 corresponding to the selected metric (e.g., "maximum temperature") in the recommendation area 104. The data visualization recommendation 448-3 has a date / time granularity that corresponds to the year-month-day granularity 464 (e.g., YMD granularity). As used herein, date / time granularity refers to the frequency (e.g., year, month, or day) with which metric values are provided. Figure 7B In the example of , each data tag in the data visualization recommendation 448 - 3 represents a day (eg, a date).
[0220] Figure 7CA user selection of a date / time granularity is shown (468) via the granularity filter 110. In the example, the user specifies the date-time granularity as "month" (or year-month). Figure 7C Also shown is that in response to the user selection, the graphical user interface 100 displays an updated data visualization recommendation 448-4 corresponding to the selected metric (e.g., "maximum temperature") and having a year-month granularity 466 (e.g., YM granularity) in the recommendation area 104. Each data marker in the data visualization recommendation 448-4 represents a month. In some implementations, the computing device 200 (e.g., the application 230) generates the data visualization recommendation 448-4 by aggregating the values of the metric (e.g., "maximum temperature") to a monthly granularity. Compared to the first data visualization recommendation 448-3, the second data visualization recommendation 448-4 appears smoother (e.g., has less detail) because there are fewer data markers in the second data visualization recommendation 448-4 than in the first data visualization recommendation 448-3.
[0221] Fig.7D A user selection of the "year" granularity via the granularity filter 110 is shown (470). Fig.7D Also shown is that in response to the user selection, the graphical user interface 100 displays an updated data visualization recommendation 448-5 corresponding to the selected metric (e.g., "maximum temperature") and having a yearly granularity 472 (e.g., Y granularity) in the recommendation area 104. Each data marker in the third data visualization recommendation 448-5 represents a year. In some implementations, the computing device 200 (e.g., the application 230) generates the data visualization recommendation 448-5 by aggregating the values of the metric (e.g., "maximum temperature") for an entire year.
[0222] FIG. 8A to FIG. 8D A series of screen shots are provided for interacting with the graphical user interface 100 to specify a date / time range according to some implementations.
[0223] According to some implementations of the disclosure, a user may constrain the selected metric value to a specific time range. In some implementations, user specifications are received via the data mode and filter panel 102 .
[0224] Fig. 8A A user selection of the first identifier 108 - 1 corresponding to the first metric “maximum temperature” is shown. In response to the user selection, the graphical user interface 100 displays a data visualization recommendation 448 - 3 corresponding to the selected metric “maximum temperature” in the recommendation area 104 .
[0225] In some implementations, the graphical user interface 100 displays a date / time range filter 112 in the data mode and filter panel 102 that allows a user to specify (e.g., adjust, edit, or modify) a date / time range for a data visualization. For example, Fig. 8A Metric 120 is shown to have a start date 114 of January 1, 2020 and an end date 116 of June 30, 2021. Fig. 8A The data visualization recommendation 448 - 3 is also shown to include a timeline 482 - 1 (e.g., a timeline or x-axis) whose domain range is January 1, 2020 (i.e., 2020-1-1) to June 30, 2021 (i.e., 2021-6-6), which is consistent with the start date 114 and end date 116 specified in the date-time range filter 112.
[0226] Figure 8B and Figure 8C A user modification of the start date 114 from January 1, 2020 to June 1, 2020 is shown. Figure 8C User selection (484) of an "Apply" icon (eg, button) is shown to confirm the changes. Fig.8D It is shown that in response to the user selection, the graphical user interface 100 displays an updated data visualization recommendation 448-6 corresponding to the selected metric (e.g., "Maximum Temperature"), where the timeline 482-2 has values ranging from June 1, 2020 to June 30, 2021. The data visualization recommendation 448-6 also includes a filter icon 486 (e.g., an indicator) indicating that the timeline is displaying a filtered range of date / time values.
[0227] According to some implementations of the disclosure, when date / time filtering occurs, the computing device 200 retains the filtered data (e.g., filtered metric values), but re-renders the chart without the filtered date / time span. In other words, filtering adjusts the time domain of the displayed data visualization (e.g., line graph). The filtered data is retained and not included in the displayed data visualization.
[0228] In some implementations, when date / time filtering occurs, computing device 200 removes the filtered metric values and generates a data visualization that excludes the filtered data.
[0229] D. Visual Recommendation
[0230] Based on some implementations of public texts, RemixTape enhances the presentation creation experience through contextual chart recommendations.
[0231] In some implementations of the open text, the visualization recommendations in RemixTape are intended to guide users and help them identify the "next step". The recommendations in RemixTape are fundamentally different from existing systems in that they focus on improving narrative sequence during presentation authoring (rather than improving data coverage or analytical tasks / intent during open data exploration). More specifically, RemixTape considers the active state of a presentation, and recommends visualizations that allow authors / presenters to drill down into metrics they previously discussed, or zoom out to give an overview when appropriate, or switch up their presentation context by focusing on relevant metrics.
[0232] Fig. 9 An algorithm outlining RemixTape's recommendation logic according to some implementations is provided.
[0233] In some implementations, at a high level, RemixTape provides two types of chart recommendations: new metric recommendations and sequential recommendations.
[0234] 1. New Metric Recommendation
[0235] When dealing with new or large datasets, it can be challenging to discover metrics of potential interest to include in a presentation. The disclosed implementation improves the user experience by helping users identify new metrics to introduce in their presentation. To help authors in such scenarios, RemixTape recommends metrics for starting a new scene ( Fig. 9 , lines 6 to 8) and for introducing new metrics into the scene ( Fig. 9 , lines 15 to 16 and lines 21 to 22).
[0236] a. It is an empty scene recommendation card.
[0237] When recommending cards for a scenario in an empty canvas, RemixTape iterates through all available metrics and suggests metrics that show data trends of potential interest over time. In some implementations, metrics that show strong changes over time are recommended as cards for starting scenarios. In some implementations, to identify a metric, RemixTape calculates parameters that measure the variability of the values of the corresponding metric. In some implementations, the parameters include dispersion parameters or statistical dispersion, such as the mean (average) of the values, the range of the values, the variance of the values, the deviation of the values (e.g., standard deviation, mean deviation, or interquartile deviation), or the coefficient of variation (e.g., coefficient of variation).
[0238] In some implementations, RemixTape calculates the coefficient of variation (eg, coefficient of variation or relative standard deviation) of the values of the metric. The coefficient of variation is the ratio of the standard deviation to the mean, thus normalizing the metric.
[0239] In some implementations, based on the calculated parameters, RemixTape recommends metrics with high variability.
[0240] In some implementations, if other scenes already exist on the canvas, RemixTape takes the existing content into account and downgrades the priority of metrics covered in previous scenes (e.g., recommending focusing on unused metrics with the most variable time trends).
[0241] b. Recommend cards for pre-populated scenarios.
[0242] According to some implementations of the disclosure, in situations where a new visualization card is added to a pre-populated scene, RemixTape recommends new metrics that the author might consider switching focus to. To generate these recommendations, RemixTape iterates through all metrics that were not previously used in the scene and identifies the metric that has the most similar trend to the previous visualization card. In some implementations, to detect similarity, RemixTape calculates the Pearson correlation coefficient (r) between the value of the metric and the data displayed in the previous visualization card, and recommends the metric with the highest |r| (e.g., the metric with the strongest correlation or inverse correlation).
[0243] 2. Sequential Recommendation
[0244] According to some implementations of the disclosure, in addition to helping authors identify new metrics to introduce in their presentations, RemixTape also recommends charts (e.g., data visualizations, line graphs, or line charts) that can help authors incrementally talk about metrics using a series of cards. More specifically, when a viz card is added to a non-empty scene, RemixTape examines the content of the scene to generate two types of recommendations, including: in-depth recommendations and overview recommendations.
[0245] a. In-depth recommendation.
[0246] To help authors focus on potentially interesting time periods within their data, RemixTape recommends temporal filters that can be applied to the metrics in the previous visualization card to gain insight into prominent peaks and valleys in the data.
[0247] In some implementations, to identify peaks and valleys, RemixTape uses a robust peak detection algorithm that uses a moving average to detect peaks / valleys and is described in “Robust peak detection algorithm using z-scores” (available from https: / / stackoverflow.com / questions / 22583391 / peak- signaldetection-in-realtime-timeseries-data / 22640362#22640362)(2014), which is incorporated herein by reference in its entirety. Specifically, the algorithm uses three input parameters: (1) hysteresis, which controls the size of the moving window; (2) threshold (λ), which determines the number of standard deviations (i.e., z-score); and 3) influence, which controls how much influence new data points will have on the moving average and standard deviation. At each time step t, the moving average μ is calculated using the data within the moving window. t and standard deviation σ t If the value of the data point > μ t +λ*σ t , then the data point is considered a peak. If the value of the data point < μ t -λ*σ t , then the data point is considered a valley.
[0248] In cases where the input data source contains one or more categorical attributes, the system also recommends breaking down the measures by category (e.g., moving from a single line chart to a multi-series line chart).
[0249] b. Overview recommendations.
[0250] The recommendations discussed above suggest that authors drill down into specific metrics (following the classic overview → detailed narrative pattern). However, in the process of creating a presentation, authors may create scenarios with charts that only show a subset of the time period covered in the dataset. To make authors aware of possible lack of context in their presentations (e.g., suggesting a detail → overview transition), RemixTape also recommends overview charts that span the entire time period of the dataset.
[0251] When making sequential recommendations, the system checks all existing cards in the scene to avoid duplications and ensures that the recommended card does not already exist in the scene.
[0252] 3. Screenshot
[0253] Fig. 10A 10L through 10L provide a series of screenshots for interacting with a graphical user interface to specify a recommended action according to some implementations.
[0254] Fig. 10A and Fig. 10B A partial view of the graphical user interface 100 according to some implementations is shown. The graphical user interface 100 displays a recommendation button 502 (e.g., a toggle button, icon, user-selectable interface element) in the recommendation area 104. The graphical user interface 100 displays an empty scene 118-3 with a blank visualization card 124-5 in the canvas area 106.
[0255] Fig. 10AThe recommendation button 502 is shown to be deactivated (e.g., switched to off), which means that the recommendation feature is disabled. Therefore, the application 230 does not provide visualization (or metric) recommendations. In some implementations, when the recommendation feature is disabled, only manually specified visualization cards can be added to the canvas area 106 (e.g., using 6A to 6F , or the steps described in .
[0256] Fig. 10A and Fig. 10B The transition between 504 and 506 shows user activation (504) of recommendation button 502. The visual difference in the activated or deactivated state of recommendation button 502 provides visual feedback to the user, enhances the operability of the device, and makes the user-device interface more efficient (e.g., helps the user achieve the desired result by providing feedback indicating input that will cause the device to generate the desired result, and reduces user errors when operating / interacting with the device).
[0257] Fig. 10B Also shown is graphical user interface 100 displaying a prompt 506 to select a visualization card to view recommendations.
[0258] In some implementations, recommendations are contextual, meaning they have different levels of scope. For example, recommendations for a partially completed scene will be different from recommendations for an empty canvas, or different from recommendations for a new scene after several completed scenes. In some implementations, as the user / author adds more content to the canvas, the recommendations become more specific. In some implementations, manual selection of metrics overrides the recommendations.
[0259] Fig. 10C A user selection of a blank visualization card is shown (508).
[0260] Fig. 10D It is shown that in response to the user selection, the graphical user interface 100 displays (e.g., automatically and without user intervention) data visualization recommendations 448-7, 448-8, and 448-9 in the recommendation area 104. Each visualization recommendation corresponds to a respective metric. For example, the first visualization recommendation 448-7 corresponds to the metric "911 calls." The second visualization recommendation 448-8 corresponds to the metric "average sales-to-hang ratio," and the third visualization recommendation 448-9 corresponds to the metric "average wind speed." In the example, because the canvas is empty and the card 124-5 is the first visualization card to be added to the initial scene 118-3, the computing device 200 (e.g., the application 230) can suggest these metrics because they have higher variability than other metrics in the data source.
[0261] Fig. 10EUser selection ( 510 ) of an add icon 450 - 7 (eg, a button or user-selectable interface element) is shown to add the first visualization recommendation 448 - 7 to the visualization card 124 - 5 . Fig.10F It is shown that in response to the user selection, the computing device 200 updates the display of the visualization card 124 - 5 to include the data visualization 452 - 3 corresponding to the first visualization recommendation 448 - 7 .
[0262] Figure 10G The graphical user interface 100 is shown displaying a second visualization card 124-6 (eg, a blank card) adjacent to the visualization card 124-5. For example, in some implementations, in response to a selection of the first option 406 (eg, Fig. 10E ) selects to add a visualization card and visualization card 124 - 6 is displayed.
[0263] Figure 10G It is shown that in response to displaying the second visualization card 124 - 6 (eg, concurrently or simultaneously therewith), the graphical user interface 100 displays updated visualization recommendations (eg, visualization recommendations 448 - 10 , 448 - 11 , and 448 - 12 ) in the recommendation area 104 .
[0264] In some implementations, such as Figure 10G As shown, the visualization recommendations are grouped into one or more categories, including a first category 512 (e.g., “Breakdown Metrics by Dimension”). Figure 10G In the example of , the computing device 200 determines that the metric (e.g., "911 calls") corresponding to the previous visualization card 124-5 in the scene 118-3 corresponds to a categorical data field (e.g., a dimensional data field). In some implementations, based on this determination, the computing device 200 recommends breaking down the metric (e.g., "911 calls") by data values of the categorical data field (e.g., "Center," "North," and "South"). Therefore, the computing device 200 provides a data visualization recommendation 448-10 that includes multiple lines, each of which corresponds to a respective data value of the categorical data field "911 calls."
[0265] In some implementations, such as Figure 10G As shown, the visualization recommendations are grouped into one or more categories, including a second category 514 (e.g., “focused on a narrower time span”). Figure 10GIn the example of , the first data visualization 452-3 has a time span from January 1, 2020 to June 30, 2021. The computing device 200 determines (e.g., using the peak detection algorithm described above) that the data visualization 452-3 has a peak near January 13, 2021, and based on this determination, generates a visualization recommendation 448-11 having a narrower time span from January 7, 2021 to January 19, 2021.
[0266] In some implementations, such as Figure 10G As shown in , the visualization recommendations are grouped into one or more categories, including a third category 516 (e.g., “Add a new metric”). Figure 10G , the computing device 200 determines that the first data visualization 452 - 3 in the previous visualization card 124 - 5 corresponds to the metric “911 calls” and provides a visualization recommendation 448 - 12 corresponding to a different metric “maximum temperature”.
[0267] In some implementations, such as Figure 10G As shown, each recommendation category includes an information icon 517 (eg, an "i" icon or information icon) that, when hovered over (eg, via a mouse-over action), explains the manner in which the corresponding recommendation category was generated.
[0268] In some implementations, a respective category in categories 512, 514, and 516 includes more than one visual recommendation. In some implementations, the visual recommendations are displayed as a scrollable list. Fig. 10H User interaction with a first scroll bar 518 (eg, a vertical scroll bar) is shown to scroll the visualized recommendations in the first category 512 in an upward / downward direction 522 . Fig. 10H Another user interaction with a second scroll bar 520 (eg, a vertical scroll bar) is shown for scrolling the visualized recommendations in the third category 516 in an upward / downward direction 524 . Fig.10I The graphical user interface 100 is shown displaying another visualization recommendation 448 - 13 corresponding to the metric “Hospitalization Rate” in response to interaction with the scroll bar 520 .
[0269] Fig.10J User selection ( 526 ) of the add icon 450 - 10 (eg, a button or user-selectable interface element) is shown to add the visualization recommendation 448 - 10 to the second visualization card 124 - 6 .
[0270] Figure 10K It is shown that in response to the user selection, the computing device 200 updates the display of the second visualization card 124 - 6 to include the data visualization 452 - 4 corresponding to the visualization recommendation 448 - 10 . Figure 10KThe graphical user interface 100 is shown displaying a third visualization card 124-7 (eg, a blank card) adjacent to the visualization card 124-6. For example, in some implementations, in response to a selection of the first option 406 (eg, Fig.10J The user in FIG. 14A selects to add a visualization card and the visualization card 124 - 7 is displayed.
[0271] Figure 10K Also shown is that in response to displaying the blank visualization card 124 - 7 , and based on content already present in the scene 118 - 3 (and present in the canvas area 106 ) (e.g., data visualizations 452 - 3 and 452 - 4 ), the computing device 200 generates and displays updated visualization recommendations 448 - 14 , 448 - 15 , and 448 - 16 in the recommendation area 104 .
[0272] E. Configure visualization cards
[0273] RemixTape provides several ways for the user to configure a data visualization after it has been added to a visualization card 124. These include: (1) transforming the x-axis or y-axis of a data visualization; (2) filtering the date / time range of a data visualization; (3) merging and overlaying adjacent visualization cards; and (4) annotating and / or blurring a visualization card. These are discussed in more detail below.
[0274] 1. Axis transformation
[0275] According to some implementations of the disclosure, clicking on any axis within the visualization card 124 reveals controls for truncating and relativizing the value domain of the chart. The domain of the vertical axis can be switched back and forth between the minimum and maximum values within the card or between zero and the maximum value. The vertical axis can also be indexed by a percentage scale relative to the first value appearing in the card. A relative transformation can also be applied to the horizontal axis, from an absolute chronological date to a relative date starting from the first date appearing in the card.
[0276] FIG. 11A to FIG. 11J A series of screenshots are provided for interacting with a visualization card 124 including a data visualization 530 according to some implementations. The visualization card 124 is included in a scene 118 in the graphical user interface 100.
[0277] Fig.11A The visualization card 124 is shown displaying a data visualization 530. In the example, the data visualization 530 is a line graph depicting the monthly changes in inventory from January 2020 to June 2021. Fig. 11BA user interaction (532) (eg, a mouse click) is shown on the y-axis (ie, vertical axis) of data visualization 530. According to some implementations, user selection of a viz card (eg, by clicking on the x-axis or y-axis of the data visualization) triggers an axis action.
[0278] Fig. 11C It is shown that in response to user interaction, the visualization card 124 displays a y-axis group icon 534 (e.g., a button or user-selectable interface element) on the y-axis (e.g., to change the vertical scale). In some implementations, the y-axis group icon 534 includes a first y-axis icon 534-1, which, when selected, switches back and forth between a y-scale (e.g., a vertical scale) starting at zero and a y-scale starting at a minimum value. In some implementations, the y-axis group icon 534 includes a second y-axis icon 534-2, which, when selected, switches back and forth between an absolute y-scale (e.g., a vertical scale with absolute values) and a relative y-scale relative to the earliest y value (e.g., the first y value). In some implementations, the y-axis group icons 534 include a third y-axis icon 534-3 (e.g., a synchronization icon) that, when selected, synchronizes the vertical scale of the data visualization 530 with the vertical scale of another data visualization displayed adjacent to the visualization card 124 (e.g., immediately to its left or immediately to its right).
[0279] Presenting a set of icons 534 to the user assists the user in the process of transforming the value domain of the data visualization. Providing visual feedback to the user (e.g., in response to a user selection of an icon) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing feedback indicating inputs that will cause the device to generate the expected results to help the user achieve the expected results and reduce user errors in operating / interacting with the device).
[0280] Fig. 11C Also shown is that in response to the user interaction, the visualization card 124 displays a set of icons 536 (eg, buttons or user-selectable interface elements) on an x-axis (eg, a horizontal axis or a time axis).
[0281] In some implementations, the set of icons 536 includes a left icon 536-1 that, when selected, switches back and forth between an absolute time scale (e.g., with absolute dates) and a relative time scale, where x-axis values are in days (such as day 1, day 2, ...), months (e.g., month 1, month 2, ...), or years (e.g., year 1, year 2, ...). In some implementations, the set of icons 536 includes a right icon 536-2 (e.g., a synchronization icon) that, when selected, synchronizes a horizontal scale (e.g., a time scale or axis) of the data visualization 530 with a horizontal scale of another data visualization displayed adjacent to the visualization card 124 (e.g., immediately to its left or immediately to its right).
[0282] Presenting a set of icons (e.g., icon 536) to the user aids the user in the process of transforming the value domain of the data visualization. Providing visual feedback to the user (e.g., in response to a user selection of an icon) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing feedback indicating inputs that will cause the device to generate the expected results to help the user achieve the expected results and reduce user errors in operating / interacting with the device).
[0283] In some implementations, in response to a user selection of an axis (e.g., the x-axis or the y-axis), a set of icons 534 for the y-axis and a set of icons 536 for the x-axis are displayed simultaneously. In some implementations, in response to a user selection of the x-axis, a set of icons 536 for the x-axis are displayed, and the y-axis set 534 is not displayed. In some implementations, in response to a user selection of the y-axis, a set of icons 534 for the y-axis are displayed, and the x-axis set 536 is not displayed.
[0284] Fig.11D A user selection of the first icon 534-1 in the y-axis group is shown (538). Fig.11E In response to the user selection, the graphical user interface 100 displays in the visualization card 124 a graph having a minimum y value of ˜2200 (with Fig.11A 540 , compared to the updated data visualization 540 starting from the y-axis.
[0285] In some implementations, a user selection to update the x-axis or y-axis of data visualization 540 causes display of y-axis group icon 534 and / or x-axis group icon 536. The user can select first icon 534-1 in the y-axis group to revert to data visualization 530 (e.g., with a vertical scale starting at zero).
[0286] Fig.11F A user selection of the second icon 534-2 in the y-axis group is shown (542). Fig.11G It is shown that in response to the user selection, the graphical user interface 100 displays an updated data visualization 544 with a relative y-scale (546) relative to the earliest y-value (e.g., the first y-value) in the visualization card 124. For example, Fig.11A The original data visualization 530 in FIG. 5 shows that the earliest y value (e.g., the first y value) is ˜3200. In the relativized scale, the earliest y value becomes 100% (or 1.0), and the other y values in the data visualization 530 are relativized relative to the first y value of ˜3200 (e.g., the value ˜6400 becomes 200% or 2.0, and the value ˜1600 becomes 50% or 0.5).
[0287] In some implementations, in response to user selection of the third y-axis icon 534-3, the computing device 200 synchronizes the y-axis of the first visualization card (e.g., the right viz card or card 1.2) with the y-axis of the second visualization card (e.g., the left viz card or card 1.1). Using consistent value ranges on a chart can enhance sequential narratives and aid understanding.
[0288] In some implementations, in response to user selection of the third y-axis icon 534-3, the computing device 200 synchronizes the y-axis of the first visualization card (e.g., the left viz card or card 1.1) with the y-axis of the second visualization card (e.g., the right viz card or card 1.2). Using consistent value ranges on a chart can enhance sequential narratives and aid understanding.
[0289] In some implementations, when the y-axis of a first visualization card is synchronized with the y-axis of a second visualization card, the axes are equivalent in absolute units (eg, rather than relative units).
[0290] Continue to refer Fig.11H , Fig.11H A user selection of an axis (eg, x-axis) for data visualization 544 is shown ( 548 ). Fig.11H It is shown that in response to the user selection, computing device 200 displays y-axis group icon 534 adjacent to the vertical axis. Computing device 200 displays x-axis group icon 536 adjacent to the horizontal axis. Fig.11I A user selection of the first icon 536 - 1 in the x-axis group is shown ( 550 ). Fig.11J It is shown that in response to the user selection, graphical user interface 100 displays an updated data visualization 552 with an x-axis at a relative time scale. For example, the first x-value shown in data visualization 544 (e.g., January 1, 2020) corresponds to day 0 in data visualization 552, and the date January 31, 2020 in data visualization 544 corresponds to day 30 in data visualization 552.
[0291] In some implementations, in response to user selection of second x-axis icon 536-2, computing device 200 synchronizes the x-axis of a first visualization card (e.g., right viz card or card 1.2) with the x-axis of a second visualization card (e.g., left viz card or card 1.1) that immediately precedes the first visualization card. Using consistent value ranges on a chart can enhance sequential narratives and aid understanding.
[0292] In some implementations, in response to user selection of second x-axis icon 536-2, computing device 200 synchronizes the x-axis of a first visualization card (e.g., left viz card or card 1.1) with the x-axis of a second visualization card (e.g., right viz card or card 1.2) immediately following the first visualization card. Using consistent value ranges on a chart can enhance sequential narratives and aid understanding.
[0293] In some implementations, when the x-axis of a first visualization card is synchronized with the x-axis of a second visualization card, the axes are equivalent in absolute units (eg, rather than relative units).
[0294] 2. Filter the date-time range of visualization cards (e.g., keep and split)
[0295] According to some implementations of the disclosure, while the date / time range filter 112 in the data mode and filter panel 102 allows a user to constrain the time span of a metric before adding the metric to a visualization card, the date / time span can also be changed at any time after the visualization card has been populated with one or more metrics. Therefore, the disclosed implementation provides users with more flexibility in building presentations using data visualizations with variable date / time spans.
[0296] For example, in some implementations, clicking on the top edge of a visualization card reveals controls for splitting the time domain of the chart, including retaining data points before or after the split point, or moving data points after the split point to a new visualization card. Similarly, dragging horizontally within the plane of the chart reveals controls for retaining only the selected time span, or excluding the selected span and retaining the spans before and after it in both visualization cards.
[0297] In some implementations, after changing the time domain of a visualization card (e.g., as described above), the modified visualization card is annotated with one or more icons to indicate that time filtering has occurred. In some implementations, a filtered visualization card (e.g., a filtered data visualization) can be restored to the state it was in when it was first added to the canvas.
[0298] FIG. 12A to FIG. 12J A series of screenshots for interacting with visualization cards according to some implementations are provided.
[0299] Fig. 12A A visualization card 124 is shown displayed as part of the scene 118 on the graphical user interface 100 . Fig. 12A The visualization card 124 is shown to include (eg, display) a data visualization 562 (eg, a line graph). Fig. 12A A user interaction (564) with a portion of a visualization card 124 (e.g., a chart or data visualization 562) is shown. In the example, the user clicks on a top portion (e.g., an area or edge) of the data visualization 562. Fig. 12A In some implementations, in response to user interaction, computing device 200 generates and displays a dividing line (e.g., a vertical line) 566 extending vertically from the mouse click point to the x-axis (e.g., the time axis or time axis). Fig. 12AIn the example of , dividing line 566 intersects the x-axis of data visualization 562 at point 568 .
[0300] Fig. 12B It is shown that in response to the user interaction, the computing device 200 displays (e.g., simultaneously or concurrently) a set of action icons 570 (e.g., buttons or user-selectable interface elements) adjacent to the mouse click point on the visualization card 124. In some implementations, the set of action icons 570 includes a first action icon 570-1, which, when selected (e.g., on the visualization card 124), retains the data points of the data visualization 562 before (e.g., to the left of) the split point 568 (or split line 566). In some implementations, the set of action icons 570 includes a second action icon 570-2, which, when selected (e.g., on the visualization card 124), retains the data points of the data visualization 562 after (e.g., to the right of) the split point 568 (or split line 566). In some implementations, the set of icons 570 includes a third action icon 570-3, which, when selected, (i) retains the data points of the data visualization 562 before the split point 568 on the same visualization card and (ii) displays the data points of the data visualization 562 after the split point 568 on another visualization card (e.g., different from the visualization card 124). In some implementations, the set of action icons 570 includes a fourth action icon 570-4 (e.g., an open eye on the left side of the dividing line and a crossed-out eye on the right side), which, when selected, partially blurs the data visualization (e.g., it blurs everything to the right of the vertical dividing line in the viz card where the cursor is). In some implementations, the set of action icons 570 includes a fifth action icon 570-5, which, when selected, restores the filtered visualization card to the state it was in when it was first added to the canvas.
[0301] Presenting a set of icons 570 to the user assists the user in the process of retaining or segmenting the data visualization on the visualization card. Providing visual feedback to the user (e.g., in response to a user selection of an icon) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing feedback indicating inputs that will cause the device to generate the expected results to help the user achieve the expected results and reduce user errors in operating / interacting with the device).
[0302] Fig. 12C User selection of the first action icon 570-1 is shown (572). Fig.12D It is shown that in response to the user selection, the graphical user interface 100 displays an updated visualization 574 (e.g., a filtered visualization) in the visualization card 124 having an x-axis domain corresponding to before the split point 568 (e.g., before August 2020). Fig.12DThe visualization card 124 is also shown displaying a filter icon 576 to indicate that time filtering has occurred.
[0303] Fig.12E User selection of the fifth action icon 570-5 is shown (578). Fig.12F In response to the user selection, the computing device 200 Fig.12F 574 to the original visualization 562 , which is the original state when the visualization was first added to the visualization card 124 .
[0304] Figure 12G Another user interaction is shown with visualization 562. In the example, the user selects (580) second action icon 570-2. Fig.12H In response to the user selection, graphical user interface 100 is shown displaying in visualization card 124 an updated visualization 582 (eg, a filtered visualization) that corresponds to a portion of visualization 562 after split point 568 (eg, to the right of split point 568 or split line 566 ).
[0305] Fig.12I , Fig.12J and Figure 12K A user interaction with the third action icon 570 - 3 is shown. Fig.12I Visualization card 124 - 1 is shown including data visualization 592 . Data visualization 592 has dividing line 594 and dividing point 596 . Fig.12I User selection of the third action icon 570-3 is shown (597). Fig.12J It is shown that in response to the user selection, graphical user interface 100 displays in visualization card 124 - 1 an updated visualization 598 that corresponds to a portion of visualization 592 prior to split point 596 (or split line 594 ). Figure 12K It is shown that in response to the user selection, the graphical user interface 100 displays (e.g., simultaneously with displaying the updated data visualization 598) the updated data visualization on another visualization card 124-2 adjacent to (e.g., to the right of) the visualization card 124-1. In other words, the computing device 200 splits the visualization 592 originally on the viz card 124-1 into two visualizations 598 and 599 on two adjacent cards 124-1 and 124-2.
[0306] FIG. 13A to FIG. 13H A series of screenshots for interacting with visualization cards according to some implementations are provided.
[0307] Fig.13A A visualization card 124 is shown displayed as part of the scene 118 on the graphical user interface 100 . Fig. 13B Shown with Fig.13A 6. In the example, the user flicks the data visualization 602 by pressing and dragging (eg, horizontally) the mouse on the data visualization 602. Fig. 13B A swept region 604 (e.g., a region or area) is shown being specified (e.g., highlighted or selected) based on a user interaction. The swept region 604 specifies (e.g., includes) a first date / time value 608 (e.g., defined by the intersection of the swept region 604 with the x-axis of the data visualization 602) and specifies (e.g., includes) a second date / time value 610 (e.g., defined by the intersection of the swept region 604 with the x-axis of the data visualization 602).
[0308] Fig. 13B It is shown that in some implementations, in response to the user interaction, the computing device 200 displays a set of sweep icons 606 (e.g., buttons or user-selectable interface elements) on the visualization card 124. In some implementations, the set of sweep icons 606 includes a first sweep icon 606-1 that, when selected, retains (e.g., holds) a portion of the data visualization 602 within the sweep area. In some implementations, the set of sweep icons 606 includes a second sweep icon 606-2 that, when selected, retains (e.g., holds) a portion of the data visualization 602 outside the sweep area 602.
[0309] Presenting a set of sweep icons 606 to the user assists the user in the process of retaining or splitting the data visualization on the visualization card. Providing visual feedback to the user (e.g., in response to a user selection of an icon) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing feedback indicating inputs that will cause the device to generate the desired results to help the user achieve the desired results and reduce user errors in operating / interacting with the device).
[0310] Fig. 13C User selection of the first sweep icon 606-1 is shown (612). Fig.13D It is shown that in response to the user selection, the graphical user interface 100 updates the display of the visualization card 124 to include an updated (eg, filtered) data visualization 614 that corresponds to a portion of the data visualization 604 within the swept area 604 .
[0311] Fig.13E Another user interaction is shown with the visualization card 124. In the example, the user clicks on a portion of the data visualization 614. Fig.13E In response to a user interaction, graphical user interface 100 displays a set of action icons 570 (eg, icons 570-1, 570-2, 570-3, 570-4, and 570-5) that were previously displayed in the graphical user interface 100. Fig. 12Band will not be repeated for the sake of brevity. Fig.13E User selection of the fifth action icon 570-5 is shown (616). Fig.13F It is shown that in response to the user selection, the data visualization displayed in the visualization card 124 returns (eg, reverts) to the initial data visualization 602 .
[0312] Fig.13F Also shown is a user interaction (624) with data visualization 602. In the example, the user flicks data visualization 602 by pressing and dragging (eg, horizontally) the mouse on data visualization 602. Fig.13F A sweep region 618 specified according to user interaction is shown. The sweep region 618 intersects the x-axis of the data visualization 602 at a first date / time value 620 and a second date / time value 622. Fig.13F Also shown is user selection of icon 606-2.
[0313] Figure 13G and Fig.13H In response to the user selection, the graphical user interface 100 updates the display of the visualization card 124 to include an updated (eg, filtered) data visualization 630 corresponding to the example Fig.13F 6. The graphical user interface 100 displays an additional visualization card 632 adjacent to the visualization card 124. The graphical user interface 100 displays the additional visualization card 632 in the data visualization card 602. Fig.13F Right outer portion 628 of data visualization 602 is shown corresponding to data visualization 634 .
[0314] 3. Merge and overlay adjacent visualization cards
[0315] According to some implementations of the disclosure, RemixTape provides an option to overlay (eg, merge) a pair of adjacent visualization cards when compatible.
[0316] While juxtaposing viz cards (e.g., displaying them side by side) is one way to compare measures, a second way is to combine multiple measures into a multi-series line chart within a single viz card. Borrowing the idea of semantic capture, when two chart cards are juxtaposed, RemixTape presents the option to merge them if the charts share comparable value domains and time ranges.
[0317] FIG. 14A to FIG. 14H A series of screenshots for interacting with visualization cards according to some implementations are provided.
[0318] Fig.14AA partial view of a graphical user interface 100 including a scene 118-1 is shown. The scene 118-1 includes a first visualization card 124-1 having a first data visualization 642. In the example, the first data visualization 642 is a graph of maximum temperature over time. The first data visualization 642 has an x-value (e.g., time value) ranging from January 2020 to ~June 2021. The first data visualization 642 has a y-value (e.g., vertical value or maximum temperature value) ranging from ~0°C to ~40°C. The scene 118-1 includes a second visualization card 124-2 adjacent to the first visualization. The second visualization card 124-2 includes a second data visualization 644 showing precipitation over time. The data visualization 644 has an x-value ranging from January 2020 to ~June 2021. The data visualization 644 has a y-value ranging from ~0 mm to ~50 mm.
[0319] exist Fig.14A In the example of , first data visualization 642 has an x-domain that substantially overlaps with an x-domain of second data visualization 644. First data visualization 642 has y-values (e.g., maximum temperature) that substantially overlap with y-values of second data visualization 644. In some implementations, based on determining that two adjacent viz cards have overlapping x-domains, and / or overlapping y-domains, and / or span the same order of magnitude, graphical user interface 100 displays a merge icon 646 (e.g., a button, affordance, or selectable interface element) that, when selected by the user, overlays (e.g., merges or combines) the data visualizations on adjacent viz cards onto one visualization card.
[0320] Fig.14A User selection of the merge icon 646 is shown (648). Fig. 14B It is shown that in response to the user selection, the graphical user interface 100 displays in the visualization card 124-1 a data visualization 648 including two lines corresponding to the maximum temperature over time and the precipitation over time. The visualization card 124-1 displays a legend 650 defining the features in the data visualization 648. In some implementations, the two graphs are distinguished by color or other visual characteristics.
[0321] FIG. 14C to FIG. 14H A user interaction with a data visualization whose y values do not overlap is shown. According to some implementations of the disclosure, RemixTape prevents authors from creating a graph with dual y axes when one or more series of values exhibit different ranges or units of measure relative to the values already displayed in the graph. Instead, it chooses to create an indexed line graph. The rationale is that dual-axis graphs can cause erroneous value judgments.
[0322] Fig. 14CA partial view of the graphical user interface 100 is shown that includes a scene 118-2. The scene 118-2 includes a first visualization card 124-3 having a first data visualization 654. The scene 118-2 includes a second visualization card 124-4 adjacent to the visualization card 124-4. The second visualization card 124-4 includes a second data visualization 656.
[0323] exist Fig. 14C In the example of , data visualization 654 is a graph of maximum temperature over time, where the y-values (maximum temperature) range from ˜5° C. to ˜25° C. Data visualization 656 is a graph of inventory over time, where the y-values (maximum temperature) range from ˜2000 units to 5000 units. The y-values of the first data visualization 654 do not overlap with the y-values of the second data visualization 656.
[0324] Fig.14D A user interaction with the y-axis of the second data visualization 656 is shown. For example, the user interaction can be a mouse click near the y-axis (e.g., vertical axis). In some implementations, in response to the user interaction, the computing device 200 displays a set of y-axis icons 534 and / or a set of x-axis icons 536 on the visualization card 124-4. The y-axis icons 534 and the x-axis 536 are previously relative to each other. Fig. 11C is described and will not be repeated for the sake of brevity. Fig.14D A user selection of the second y-axis icon 534 - 2 is shown ( 658 ). Fig.14E It is shown that in response to the user selection, the graphical user interface 100 displays an updated data visualization 660 having a relative y-scale relative to the earliest y-value (eg, the first y-value in the time series) of the second data visualization 656 . Fig.14F The relativization steps are shown repeated for the first data visualization 654 to produce an updated data visualization 662, as shown in FIG. Figure 14G shown. Figure 14G User selection of the merge icon 646 is shown (664). Fig.14H It is shown that in response to the user selection, the graphical user interface 100 displays a merged data visualization 666 in the first visualization card 124-3, which includes two lines 668-1 and 668-2 corresponding to inventory over time and maximum temperature over time. By converting the y-axis to a relative scale, the graphs are compatible so they can be merged.
[0325] 4. Annotate and / or blur the visualization card.
[0326] According to some implementations of the public text, RemixTape supports visual card annotations. Annotations to viz cards can be transient or pinned in place. When the mouse hovers over the visualization, transient annotations are bound to the cursor position, revealing horizontal and vertical reference lines and corresponding date and metric text annotations. Horizontal reference lines and value annotations can also be pinned in place by clicking on the edge of the viz card (e.g., the right edge), and clicking again will clear the pinned annotations. In some implementations, RemixTape also provides dramatic subtractive reveals. For example, a user can add a semi-transparent mask to blur a portion of a chart (e.g., similar to a fogged glass filter applied to blur a portion of an image or video). Like a pinned annotation, clicking on the edge of the card removes the blur mask, revealing the value below.
[0327] FIG. 15A to FIG. 15H A series of screenshots for interacting with visualization cards according to some implementations are provided.
[0328] Fig.15A A visualization card 124 is shown that includes a data visualization 672 (eg, a line graph).
[0329] Fig. 15B It is shown that in some implementations, in response to a user interaction (674) (e.g., a mouse-over action) with (e.g., within) a visualization card 124, the computing device 200 annotates the visualization card 124 (e.g., temporarily). For example, Fig. 15B It is shown that in response to the user interaction, the computing device 200 displays (e.g., reveals) a horizontal reference line 676 and / or a value 678 (e.g., a y-value) corresponding to the horizontal reference line 676. In some implementations, in response to the user interaction, the graphical user interface 100 displays a vertical reference line 680 and / or a value 682 (e.g., an x-value or a date / time value) corresponding to the vertical reference line 680.
[0330] Fig. 15C Another user interaction (684) with the visualization card 124 is shown. In the example, the user selects (eg, via a mouse click) a top region (eg, an area or edge) of the data visualization 672. Fig. 15C In response to the user interaction, graphical user interface 100 is shown displaying a split line 686 (eg, a divider or dividing line) extending vertically from the point of the mouse click to the x-axis (eg, time axis or temporal axis) of data visualization 672 .
[0331] Fig.15D In some implementations, in response to user interaction, the graphical user interface displays a set of action icons 570 for Fig. 12B A set of action icons is described. Fig.15DUser interaction with the fourth action icon 570 - 4 is shown ( 688 ). Fig.15E Computing device 200 is shown updating the display of data visualization 672 by blurring (eg, obfuscating, obscuring with an overlay, or applying a “foggy glass” overlay) a portion of data visualization 672 to the right of dividing line 686 in response to the user selection.
[0332] FIG. 15F to FIG. 15H Persistent annotations to visualization cards are shown according to some implementations. For example, Fig.15F It is shown that a user can interact (690) with a region (e.g., an area or edge) of the data visualization 672 (e.g., via a mouse click or right-click) to "pin" (e.g., persistently annotate) a horizontal reference line (e.g., upper reference line 692 or lower reference line 694) and corresponding values 696 and 698. Figure 15G and Fig.15H It is shown that in some implementations, a user can select ( 700 ) (eg, click) a corner of a data visualization to remove a persistent annotation.
[0333] F. Coordinate adjacent visual and text cards
[0334] RemixTape treats visualizations and textual commentary as deserving of similar prominence in a data-based narrative. Thus, when laid out sequentially, RemixTape offers the opportunity to coordinate textual cards with visualization cards that precede or follow them.
[0335] According to some implementations of the public text, after adding comments to the text card, each paragraph can be linked (e.g., explicitly) to an adjacent visualization card on the left or right side of the text card. In some implementations, when the link is enabled, the computing device 200 calls a library (e.g., a SUTime library) to identify and standardize time expressions in paragraphs. If the time expression intersects with the time domain of the linked visualization card, subsequent mouse hover events on the paragraph will briefly emphasize the time span mentioned in the paragraph. For example, if a text card contains the paragraph "Between May and July 2021, company profits first increased and then decreased", the line segments in adjacent viz cards corresponding to time periods falling outside the three-month span are faded until the mouse cursor leaves the paragraph block.
[0336] FIG. 16A to FIG. 16N A series of screen shots for interacting with graphical user interface 100 according to some implementations are provided.
[0337] Fig.16A A scene 118 is shown displayed in a graphical user interface according to some implementations. Fig.16AThe scene 118 is depicted to include a first visualization card 124-1 having a first data visualization 702. The scene 118 includes a second visualization card 124-2 having a second data visualization 704. The scene includes a text card 122-1 positioned between the visualization card 124-1 and the visualization card 124-2. The text card 122-1 includes a text input element 706-1 (e.g., a text box, a text input box, or a free-form text box) for receiving user text input (e.g., text input for adding context to the scene).
[0338] In some implementations, a text card can contain any number of sentences.
[0339] In some implementations, when the amount of text exceeds the size of the text card, the text card can be scrolled vertically.
[0340] Fig.16A It is shown that in some implementations, text card 122-1 includes one or more link icons 716 (e.g., link icons 716-1 and 716-2) (e.g., buttons, affordances, user-selectable interface elements, or links) that, when selected, link (i) a text input element adjacent to (e.g., above) icon 716 with (ii) a data visualization adjacent to icon 716. As shown below, in some implementations, user selection of left link icon 716-1 causes text input element 706-1 to link to first data visualization 702. User selection of right link icon 716-2 causes text input element 706-1 to link to second data visualization 704.
[0341] Fig. 16B Graphical user interface 100 is shown receiving text input from a user via text input element 706 - 1 .
[0342] Fig. 16C User selection of icon 710 to add a text input element to text card 122-1 is shown (708). Fig.16D A second text input element 706 - 2 is shown added to the text card 122 - 1 in response to the user selection.
[0343] Fig.16E Graphical user interface 100 is shown receiving text input from a user via second text input element 706 - 2 .
[0344] Fig.16FA user selection of the top left link icon 716-1 is shown (712). In some implementations, an active (e.g., activated, recommended, selected, or enabled) link icon 716 is displayed in a visually different manner than another link icon 716 that is inactive. For example, the active link icon 716 can have a different color, or a different shade, or a different visual emphasis than another link icon 716 that is inactive. For example, in Fig.16F , the upper left link icon 716-1 has a different color (or shade) than the upper right link icon 716-2.
[0345] In some implementations, when the link icon 716 is active, the computing device 200 invokes a library (e.g., the SUTime library) that recognizes and normalizes the time expression in the corresponding text input element 706. If the time expression intersects the time domain of the linked visualization card (e.g., the data visualization 702), a subsequent user interaction (e.g., a mouse-over event) with the text input element 706 causes the computing device 200 to briefly emphasize a portion of the data visualization that corresponds to the time span mentioned in the text input element 706.
[0346] Figure 16G A user interaction with a first text input element 706-1 is shown. In the example, the user hovers (718) the mouse cursor over the first text input element 706-1. Figure 16G It is shown that in response to a user interaction, a middle area 720 (e.g., a portion of a line graph) of the data visualization 702 in the first visualization card 124-1 is visually emphasized, which corresponds to the time span mentioned in the first text input element 706-1 (e.g., "the period from July 2020 to March 2021").
[0347] Fig.16H The user is shown moving the cursor out of (722) the first text input element 706-1. In response to the user interaction, the data visualization 702 is restored to its initial state. Note that the top left link icon 716-1 is still selected, as shown by the shading.
[0348] Fig.16I User activation of the upper right link icon 716-2 is shown (in Fig.16I In the example of FIG. 7 , both the upper left link icon 716 - 1 and the upper right link icon 716 - 2 are activated. In some implementations, when the link icon 716 is active, the computing device 200 calls a library that determines whether the corresponding text input element 706 includes a temporal expression that intersects the temporal domain of the linked data visualization.
[0349] Fig.16JA mouse hover action (eg, by a user) over the first text input element 706-1 is shown (724). Fig.16J It is shown that in response to the user interaction, the computing device 200 visually emphasizes the middle area 720 of the first data visualization 702, which corresponds to the time span "between July 2020 and March 2021" mentioned in the first text input element 706-1. The computing device 200 also visually emphasizes the middle area 726 of the second data visualization 704, which corresponds to the time span "between July 2020 and March 2021" mentioned in the text input element 706-1.
[0350] Figure 16K It is shown that in response to the cursor moving (728) to a location outside of the first text input element 706-1, the first data visualization 702 and the second data visualization return to their initial states.
[0351] Figure 16L A user selection of the lower right link icon 716-4 is shown (730). In the example, the selection of the lower right link icon 716-4 causes the second text input element 706-2 (i.e., the text input element adjacent to (e.g., above) the lower right link icon 716-4) to link to the second data visualization 704 (i.e., the data visualization adjacent to the lower right link icon 716-4). Note that the lower left link icon 716-3 is not selected.
[0352] Figure 16M A mouse hover action (732) on the second text input element 706-2 is shown. Figure 16M It is shown that in response to the interaction, the computing device 200 visually emphasizes the rightmost area 734 of the second data visualization 704, which corresponds to the time span "since January 2021" mentioned in the text input element 706-2. Because the lower left link icon 716-3 is not selected, no part of the first data visualization 702 is emphasized.
[0353] Fig.16N It is shown that in response to the cursor moving (736) to a location outside of the second text input element 706-2, the second data visualization 704 returns to its initial state.
[0354] G. Switching back and forth between design mode and presentation mode
[0355] FIG. 17A to FIG. 17D A series of screen shots for interacting with graphical user interface 100 according to some implementations are provided.
[0356] According to some implementations, RemixTape (eg, graphical user interface 100 ) can operate in a design mode (eg, canvas) mode and a presentation mode.
[0357] Fig.17A A graphical user interface 100 is shown when RemixTape is in design mode according to some implementations. In some implementations, when RemixTape is in design mode, the operations shown in FIG. 1 and FIG. 4 through FIG. 16 are performed. Fig.17A A mode icon 752 is shown which, when selected, causes RemixTape to switch (eg, toggle back and forth) to a demonstration mode (eg, “Demo” mode). Fig.17A User selection of mode icon 752 is shown (754).
[0358] FIG. 17B to FIG. 17D A view of the graphical user interface 100 is shown when the application is in presentation mode (e.g., in response to a user selection of a mode icon 752). In presentation mode, scenes and cards are magnified and all editing operations are disabled / hidden. Annotations (e.g., horizontal markers or faded portions of a chart) and interactive links between text and charts are retained to facilitate dynamic narration. Annotations added in design mode (e.g., as shown in FIG. 15 ) and links between text cards and visualization cards (e.g., as shown in FIG. 16 ) are persisted in presentation mode. In presentation mode, the mode icon 752 indicates an option to switch back to design mode. Thus, the disclosed graphical user interface improves existing interfaces by enabling users to build semantically aligned presentations based on data and present data in a manner that facilitates dynamic narration.
[0359] In some implementations, the RemixTape presentation can be displayed as a carousel of cards embedded within a conversation channel in a collaboration platform, such as Slack.
[0360] H. Flowchart
[0361] 18A to 18F A flowchart of a method 1000 for recommending visualizations for an interactive presentation of time series metrics according to some implementations is provided. The method improves the user experience by helping users identify new metrics to introduce in their presentations. The method 1000 is also referred to as a process.
[0362] The method 1000 is performed (1002) at a computing device 200 having a display 208, one or more processors 202, and a memory 206. The memory 206 stores (1004) one or more programs configured for execution by the one or more processors 202. In some implementations, Figure 1A , Figure 1B , 4A to 4H , FIG. 5A to FIG. 5I , 6A to 6F , FIG. 7A to FIG. 7D , FIG. 8A to FIG. 8D, Fig. 9 , FIG. 10A to FIG. 10K , FIG. 11A to FIG. 11J , FIG. 12A to FIG. 12K , FIG. 13A to FIG. 13H , FIG. 14A to FIG. 14H , FIG. 15A to FIG. 15H , FIG. 16A to FIG. 16N and FIG. 17A to FIG. 17D The operations shown in the method 1000 correspond to instructions stored in the memory 206 or other non-transitory computer-readable storage medium. The computer-readable storage medium may include a magnetic or optical disk storage device, a solid-state storage device such as a flash memory, or other one or more non-volatile memory devices. In some implementations, the instructions stored on the computer-readable storage medium include one or more of the following: source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations in the method 1000 may be combined and / or the order of some operations may be changed.
[0363] In some implementations, the computing device 200 receives ( 1006 ) a user selection of one or more data sources 240 , workbooks 244 , and / or tables 246 .
[0364] The computing device 200 identifies (1008) a plurality of metrics (e.g., time series metrics) corresponding to one or more data sources. Each metric in the plurality of metrics has a corresponding time (e.g., time) attribute. For example, in some cases, all metrics come from one data source (or one workbook or one table). In some cases, the metrics come from two or more data sources (or two or more workbooks, or two or more tables, or one data source and one workbook). In some cases, the metrics are associated with heterogeneous data sources, time periods, and / or time granularities. In some cases, the metrics have a fixed time interval / time range (e.g., from November 16, 2020 to April 13, 2022).
[0365] As used herein, a metric is a univariate quantitative value that changes over time. In some cases, a metric 120 is a calculated data field (e.g., a calculation performed on one or more data fields) whose value changes over time. In some cases, a metric is a calculation based on a measurement data field (e.g., a quantitative data field). In some implementations, a metric is referred to as time-oriented data.
[0366] In some cases, the one or more data sources include (1010) a second metric having a categorical data field (e.g., a dimensional data field). An example of a metric having a categorical data field is "aggregate sales over time," where aggregate sales are further broken down into sales by region, such as the North region, the South region, the East region, and the West region.
[0367] In some implementations, the computing device 200 displays ( 1012 ) in the graphical user interface 100 a data mode and filter panel 102 including a plurality of metrics and a canvas area (eg, the canvas area 106 ) for adding one or more scenes for an interactive presentation.
[0368] In some cases, a scene includes one or more visualization cards 124 or text cards 122 .
[0369] In some cases, before receiving the first user input to add the data visualization to the first visualization card in the first scene of the interactive presentation, the computing device 200 receives (1014) a second user input to add the first visualization card to the first scene. In response to the second user input, the computing device 200 displays (1016) (e.g., generates and displays) a blank card (e.g., an empty visualization card in the first scene). A blank visualization card is a card that does not include a data visualization.
[0370] The computing device 200 receives (1018) a first user input to add a data visualization to a first visualization card in a first scene of the interactive presentation. In some cases, the first user input includes (1020) a user selection of a blank visualization card in the canvas area 106 (e.g., Fig. 7A and Fig. 10C In some cases, the first user input includes a toggle button (e.g., Fig. 10A and Fig. 10B ) is activated by a user of the recommendation button 502 shown in FIG. 1 to activate “Recommendations” in the graphical user interface 100.
[0371] In response to the first user input, when the first scene is an initial scene (e.g., an open scene) to be added to the canvas area (e.g., the first visualization card is the first card to be added to the first scene or the canvas area), the computing device 200 calculates (1022) a corresponding parameter measuring the variability (e.g., change or difference) of the value of the corresponding metric for each of the multiple metrics.
[0372] In some implementations, the corresponding parameter includes a dispersion parameter, such as a statistical dispersion parameter (e.g., a mean, a variance, a deviation, or a range). For example, in some implementations, the computing device 200 calculates, for each metric in the plurality of metrics, a mean, a range of values, or a deviation of values (e.g., a standard deviation, a mean deviation, or an interquartile deviation) of the corresponding metric.
[0373] In some implementations, the corresponding parameter is a coefficient of variation (eg, coefficient of variation).
[0374] The computing device 200 identifies (1024) (e.g., determines) a first subset of metrics from the plurality of metrics based on the calculated parameters. For example, in some implementations, the first subset of metrics includes (e.g., based on the calculation) metrics with the most variable time trends. Thus, the method improves user experience by helping users identify new metrics to introduce in their presentations.
[0375] In some implementations, identifying the first subset of metrics includes arranging (1026) the plurality of metrics (eg, in ascending or descending order) based on the calculated parameter, and identifying (1028) the first subset of metrics based on the arrangement.
[0376] In some implementations, identifying the first subset of metrics includes determining ( 1030 ) that each metric in the first subset of metrics has a coefficient of variation that exceeds a predetermined threshold.
[0377] Computing device 200 generates ( 1032 ) a corresponding data visualization for each metric in the first subset of metrics.
[0378] In some implementations, generating the corresponding data visualization includes obtaining ( 1034 ) (i) a metric definition corresponding to the corresponding data visualization and / or (ii) data corresponding to the metric.
[0379] In some implementations, the metric definition includes information (e.g., instructions) that the computing device 200 can use to build a visualization for the metric. In other words, the computing device 200 uses the metric definition and / or the latest data corresponding to the metric to build the data visualization, rather than retrieving a static, previously saved, stale version of the data visualization itself. Therefore, the method is advantageous over existing methods (and systems) that rely on "static" charts with data that is "frozen in time" when the chart was created.
[0380] In some implementations, metric definitions and / or their associated data are obtained from a data source, a metric definition repository (e.g., a common metric layer that allows users to specify metrics directly from data fields, or a common metric layer API), a visualization worksheet, and / or a visualization workbook.
[0381] In some implementations, the metric definition can be specified on the fly. In some implementations, the metric definition (which is obtained from the visualization worksheet) appears on the server (e.g., Tableau Cloud) as a sibling of the workbook in the same folder.
[0382] In some implementations, the metric definition specifies how the metric will be presented visually (e.g., as a text indicator and a line graph, or as a text indicator alone). In some implementations, a metric can be added as a "favorite" or to an ad hoc collection by a user with appropriate permissions.
[0383] In some implementations, the corresponding data visualization is a pre-existing data visualization generated by (eg, acquired by) the computing device.
[0384] The computing device 200 displays ( 1036 ) the plurality of generated data visualizations (see, e.g., Fig. 10D ) as a recommendation for the first visualization card. Generating and displaying two or more independent visualization recommendations in the same recommendation area provides visual feedback to the user, helps the user build a coherent narrative using the metric, reduces the amount of input, and / or reduces user errors of selecting inappropriate metrics.
[0385] In some implementations, each of the multiple data visualizations is (1038) a line graph (e.g., a line graph, a line plot, or a time series line graph) that depicts changes in the value of the corresponding metric (or aggregated data values) over a date / time range corresponding to the corresponding metric.
[0386] Computing device 200 receives (1040) a user selection of a first data visualization from the plurality of data visualizations that corresponds to a first metric in the subset of metrics. Fig. 10E A user selection of an “add to card” icon 450 - 7 corresponding to the visualization recommendation 448 - 7 is shown to add the visualization recommendation (eg, data visualization) to the visualization card 124 - 5 .
[0387] In some cases, the first data visualization is ( 1042 ) a line graph.
[0388] In some cases, the first data visualization includes (1044) data values spanning a first date / time range. Fig. 10E , the first visualization recommendation 448 - 7 has a date / time range from January 1, 2020 to June 30, 2021 .
[0389] In response to the user selection, computing device 200 populates ( 1046 ) the first visualization card with the first data visualization. For example, computing device 200 displays (or causes display of) the first data visualization in the first visualization card.
[0390] In some cases, populating the first visualization card with the first data visualization includes updating (1048) the blank visualization card to include the first data visualization. FIG. 10E to FIG. 10F The transition shows the blank visualization card 124 - 5 being populated with the data visualization 452 - 3 .
[0391] In some implementations, in response to the first user input, when the first scene is already populated with a second visualization card having a second data visualization and corresponding to a second metric of the plurality of metrics (e.g., the first scene already includes the second visualization card), the computing device 200 determines (1050) (e.g., identifies) one or more metrics corresponding to the second visualization card.
[0392] In some cases, the second visualization card immediately precedes ( 1052 ) the first visualization card in the first scene.
[0393] In some implementations, computing device 200 excludes a second subset of metrics of one or more metrics from the plurality of metric identifications (1054). For example, in some implementations, the second subset of metrics includes all metrics not previously used in the first scenario.
[0394] In some implementations, the computing device 200 calculates (1056) for each metric in the second subset of metrics a corresponding correlation coefficient (e.g., a Pearson correlation coefficient) between (i) the value of the metric and (ii) the data value displayed in the second data visualization. For example, in some implementations, the corresponding correlation coefficient is the Pearson correlation coefficient r, which is a measure of the linear correlation between two sets of data. It is the ratio between the covariance of two variables and the product of their standard deviations. Thus, it is essentially a normalized measure of the covariance, such that the result has a value between -1 and 1.
[0395] In some implementations, the computing device 200 (1058) identifies a third metric from the second subset of metrics based on the calculated correlation coefficient.
[0396] In some cases, the third metric has ( 1060 ) the strongest correlation with the second metric in the second subset of metrics (eg, directly or indirectly, or with the highest |r| value).
[0397] In some implementations, computing device 200 generates ( 1062 ) a third data visualization corresponding to the third metric.
[0398] In some implementations, generating a third data visualization corresponding to the third metric includes obtaining ( 1064 ) a metric definition and associated data corresponding to the third metric, and generating ( 1066 ) the third data visualization using the metric definition and associated data.
[0399] In some implementations, computing device 200 displays ( 1068 ) the third data visualization in the recommendation area.
[0400] In some cases, the first data visualization includes data values that span the first date / time range.After populating the first visualization card with the first data visualization, computing device 200 receives (1070) second user input to add a second visualization card in the first scene.
[0401] For example, in some cases, the second visualization card is immediately after the first visualization card in the first scene (or the first data visualization card is immediately before the second visualization card). In some cases, the second visualization card follows a text card inserted after the first visualization card.
[0402] In some implementations, in response to the second user input, the computing device 200 generates (1072) one or more visualization recommendations for the second visualization card. The one or more visualization recommendations include (1074) one or more of: (i) a first visualization recommendation that filters the values of the first metric to (e.g., focuses on or drills down to) a subset of data values corresponding to a second date / time range that is narrower than the first date / time range; or (ii) a second visualization recommendation that spans an entire time period of the one or more data sources.
[0403] In some cases, the subset of data values corresponds ( 1076 ) to a local maximum or a local minimum of the first data visualization (eg, the subset of data values forms a peak or a valley of the first data visualization).
[0404] In some implementations, method 1000 also includes identifying ( 1078 ) a subset of data values using a moving average algorithm, generating ( 1080 ) a first line graph including the subset of data values, and displaying ( 1082 ) the first line graph in the recommendation area.
[0405] In some implementations, the moving average algorithm uses three input parameters: (1) hysteresis, which controls the size of the moving window; (2) threshold (λ), which determines the number of standard deviations (i.e., z-score); and (3) influence, which controls how much a new data point will affect the moving average and standard deviation. At each time step t, the moving average μ is calculated using the data within the moving window. t and standard deviation σ t If the value of the data point > μ t +λ*σ t , then the data point is considered a peak. If the value of the data point < μ t -λ*σ t , then the data point is considered a valley.
[0406] In some implementations, the one or more visualization recommendations include ( 1084 ) a third visualization recommendation corresponding to a second metric different from the first metric.
[0407] In some cases, one or more data sources include a second metric having a categorical data field (e.g., a dimensional data field). An example of a metric having a categorical data field is Figure 10G metric "911 calls" in , where the metric (e.g., 911 calls) can be further broken down into calls by region, such as the central region, the northern region, and the southern region (see e.g. Figure 10G 448-10 in the first visualization recommendation 448-10). In some implementations, computing device 200 generates (1086) (e.g., automatically, without user intervention) a third visualization recommendation that includes a second line graph (e.g., a multi-series line graph) having multiple lines. Each of the lines corresponds to a different data value (e.g., a corresponding categorical data value, such as "center", "north", or "south") of the categorical data field (e.g., each line in the line graph corresponds to a corresponding categorical data value). Computing device 200 displays (1088) the third visualization recommendation in the recommendation area.
[0408] In some cases, one or more data sources include a second metric having a categorical data field. Computing device 200 generates (1090) (e.g., automatically, without user intervention) a second data visualization (e.g., a line chart or a multi-series line chart) having a plurality of lines. Each of the lines corresponds to a different data value of the categorical data field (e.g., each line in the chart corresponds to a respective categorical data value). Computing device 200 displays (1091) the second data visualization in the recommendation area.
[0409] In some implementations, the first data visualization and the second data visualization are displayed ( 1092 ) simultaneously (eg, concurrently) in the recommendation area.
[0410] In some cases, computing device 200 receives (1093) a user selection (e.g., a manual user selection) of a second metric from among the plurality of metrics in the data mode and filter panel. In response to the user selection, computing device 200 displays (1094) a second data visualization corresponding to the second metric in the recommendation area. Fig. 8A Shown in.
[0411] In some implementations, displaying the second visualization includes replacing the plurality of data visualizations displayed in the recommendation area with the second data visualization. In some implementations, displaying the second visualization includes displaying the second visualization in addition to the plurality of data visualizations displayed in the recommendation area.
[0412] In some cases, computing device 200 receives (1095) a user selection of a second metric and a third metric from among the plurality of metrics in the data mode and filter panel (e.g., the user selects the second metric and the third metric simultaneously or concurrently, such as in Figure 6C In response to the user selection, computing device 200 generates (1096) a second data visualization including two lines corresponding to the second metric and the third metric, respectively. Computing device 200 displays (1097) the second data visualization in the recommendation area.
[0413] FIG. 19A to FIG. 19E A flow diagram of a method 1100 for recommending visualizations for interactive presentations of time series metrics according to some implementations is provided. The method 1100 is also referred to as a process.
[0414] The method 1100 is performed (1102) at a computing device 200 having a display 208, one or more processors 202, and a memory 206. The memory 206 stores (1104) one or more programs configured for execution by the one or more processors 202. In some implementations, Figure 1A , Figure 1B , 4A to 4H , FIG. 5A to FIG. 5I , 6A to 6F , FIG. 7A to FIG. 7D , FIG. 8A to FIG. 8D , Fig. 9 , FIG. 10A to FIG. 10K , FIG. 11A to FIG. 11J , FIG. 12A to FIG. 12K , FIG. 13A to FIG. 13H , FIG. 14A to FIG. 14H , FIG. 15A to FIG. 15H , FIG. 16A to FIG. 16N and FIG. 17A to FIG. 17D The operations shown in the method 1100 correspond to instructions stored in the memory 206 or other non-transitory computer-readable storage medium. The computer-readable storage medium may include a magnetic or optical disk storage device, a solid-state storage device such as a flash memory, or other one or more non-volatile memory devices. In some implementations, the instructions stored on the computer-readable storage medium include one or more of the following: source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations in the method 1100 may be combined and / or the order of some operations may be changed.
[0415] In some implementations, computing device 200 receives ( 1106 ) a user selection of one or more data sources.
[0416] Computing device 200 identifies 1108 a plurality of metrics corresponding to one or more data sources. Each metric in the plurality of metrics has a corresponding time attribute.
[0417] The computing device 200 displays ( 1100 ) in the graphical user interface 100 a canvas area 106 for adding one or more scenes 118 to an interactive presentation.
[0418] In some implementations, the graphical user interface includes ( 1112 ) a data mode and filter panel 102 for displaying a plurality of metrics.
[0419] The computing device 200 receives (1114) a first user input to add a first data visualization to a first visualization card in a first scene of the interactive presentation. For example, in some implementations, the user input includes a user selection of the first visualization card in the canvas area. In some implementations, the first user input includes a user activation of a toggle button (e.g., recommend button 502) to activate a “recommend” feature on the graphical user interface.
[0420] In response to the first user input, when the canvas area includes a previous scene with a second visualization card and the second visualization card has a second data visualization (e.g., the second visualization card already existed in the previous scene before the first user input), the computing device 200 calculates (1116) a corresponding parameter measuring the variability of values of the corresponding metric (e.g., a statistical dispersion parameter such as a mean, variance, deviation, or range) for each of the multiple metrics.
[0421] The computing device 200 identifies (1118) a first subset of metrics from the plurality of metrics based on the calculated parameters. For example, in some implementations, the first subset of metrics includes metrics with the most variable time trends. The method improves user experience by helping users identify new or interesting metrics to introduce in their presentations.
[0422] In some implementations, identifying the first subset of metrics includes: arranging (1120) the plurality of metrics (e.g., in ascending or descending order) based on the calculated parameter, and identifying (1122) the first subset of metrics based on the arrangement. The method improves user experience by helping users identify new or interesting metrics to introduce in their presentations.
[0423] In some implementations, identifying the first subset of metrics includes determining ( 1124 ) that each metric in the first subset of metrics has a coefficient of variation that exceeds a predetermined threshold.
[0424] Computing device 200 generates ( 1126 ) (eg, automatically, without user intervention) a corresponding data visualization for each metric in the first subset of metrics.
[0425] In some implementations, generating the corresponding data visualization includes obtaining (1128) (eg, automatically, without user intervention) (i) a metric definition corresponding to the corresponding data visualization and / or (ii) data corresponding to the metric.
[0426] Computing device 200 identifies ( 1130 ) a first metric among the plurality of metrics that corresponds to the second data visualization.
[0427] Computing device 200 determines ( 1132 ) whether the first subset of metrics includes the first metric.
[0428] Computing device 200 displays (1134) the plurality of generated data visualizations in recommendation area 104 of the graphical user interface based on the determination of the first visualization card. Generating and displaying two or more independent visualization recommendations in the same recommendation area provides visual feedback to the user, helps the user build a coherent narrative using the metric, and reduces the amount of input, and / or reduces user errors of selecting an inappropriate metric.
[0429] In some implementations, each data visualization in the plurality of data visualizations is ( 1136 ) a line graph that depicts changes in the value of the corresponding metric over a date / time range corresponding to the corresponding metric.
[0430] In some implementations, the plurality of data visualizations are displayed (1138) as a list (e.g., a scrollable list or a list with a drop-down menu) in a recommendation area. For example, in some implementations, the list is sorted according to the degree of variability of the corresponding parameter. In some implementations, the metric with the highest variability (e.g., the largest range of values, the largest standard deviation, or the largest change) is displayed first on the list. In some implementations, the metric with the highest variability is displayed last on the list.
[0431] In some implementations, displaying the plurality of generated data visualizations in accordance with the determination includes, when the first subset of metrics includes (eg, contains) the second metric, lowering ( 1140 ) a priority of (eg, reducing the priority of) the second metric in the first subset.
[0432] For example, in some implementations, if other scenes already exist in the canvas, the computing device considers the existing content and deprioritizes metrics that are already covered (e.g., described) in other scenes. In some implementations, it is recommended to focus on unused metrics with the most variable time trends.
[0433] The method improves the user experience by helping users identify metrics that have not been discussed to include in their presentations.
[0434] In some implementations, reducing the priority of the second metric includes changing (1142) the order in which the second data visualization is displayed in the list (e.g., reordering or changing the position on the list). For example, when the first metric subset includes the second metric, the computing device (e.g., application 230) can move the second data visualization to a lower position on the list.
[0435] In some implementations, lowering the priority of the second metric includes excluding ( 1144 ) the second visualization from the displayed plurality of data visualizations.For example, the computing device generates and displays the updated plurality of data visualizations excluding the second visualization.
[0436] In some cases, computing device 200 receives ( 1146 ) a user selection of a first data visualization in the plurality of data visualizations that corresponds to a second metric in the subset of metrics.
[0437] In some cases, the first data visualization includes ( 1148 ) data values spanning a first date / time range.
[0438] In some implementations, in response to the user selection, the computing device 200 populates ( 1150 ) the first visualization card with the first data visualization. For example, the computing device displays (or causes display of) the first data visualization on the first visualization card.
[0439] In some cases, the first data visualization includes data values that span the first date / time range.After populating the first visualization card with the first data visualization, computing device 200 receives (1152) second user input to add a third visualization card in the first scene.
[0440] In response to the second user input, computing device 200 generates ( 1154 ) one or more visualization recommendations for a third visualization card.
[0441] In some implementations, the one or more visualization recommendations include (1156) one or more of: (i) a first visualization recommendation that filters values of the first metric to (e.g., focuses on or drills down to) a subset of data values corresponding to a second date / time range that is narrower than the first date / time range; or (iii) a second visualization recommendation that spans an entire time period of the one or more data sources. The method improves the user experience by recommending charts that can help authors incrementally talk about a metric using a series of cards.
[0442] In some implementations, the subset of data values corresponds ( 1158 ) to a local maximum (eg, a peak) or a local minimum (eg, a valley) of the first data visualization.
[0443] In some implementations, method 1100 includes identifying a subset of data values using ( 1160 ) a moving average algorithm, generating ( 1162 ) a first line graph including the subset of data values, and displaying ( 1164 ) the first line graph in a recommendation area.
[0444] In some implementations, the algorithm uses three input parameters: (1) hysteresis, which controls the size of the moving window; (2) threshold (λ), which determines the number of standard deviations (i.e., z-score); and (3) influence, which controls how much influence new data points have on the moving average and standard deviation. At each time step t, the moving average μ is calculated using the data within the moving window. t and standard deviation σ t If the value of the data point is greater than μ t +λ*σ t , then the data point is considered a peak, or if the value of the data point is less than μ t -λ*σ t , then the data point is considered a valley.
[0445] In some cases, the one or more data sources include (1166) a second metric having a categorical data field. The method 1100 also includes generating (1168) (e.g., automatically, without user intervention) a line graph (e.g., a multi-series line graph) having a plurality of lines. Each of the lines corresponds to a different data value of the categorical data field. The method 1100 also includes displaying (1170) the line graph in the recommendation area.
[0446] In some cases, computing device 200 receives (1172) a user selection (e.g., manual selection) of a second metric from among the plurality of metrics in the data mode and filter panel. In response to the user selection, computing device 200 displays (1174) (e.g., generates and displays) a second data visualization corresponding to the second metric in the recommendation area.
[0447] In some cases, computing device 200 receives (1176) a user selection (e.g., manual user selection) of a second metric and a third metric from among the plurality of metrics in the data mode and filter panel. The second metric and the third metric are selected concurrently by the user (see, e.g., Figure 6C ).
[0448] In some implementations, in response to the user selection, computing device 200 retrieves metric definitions and associated data corresponding to the second metric and the third metric. Computing device 200 generates (1178) a second data visualization (e.g., a multi-series line graph) including two lines corresponding to the second metric and the third metric, respectively. Computing device 200 displays (1180) the second data visualization in the recommendation area.
[0449] FIG. 20A to FIG. 20E A flow chart of a method 1200 for demonstrating time series metrics according to some implementations is provided. The method 1200 is also referred to as a process.
[0450] The method 1200 is performed (1202) at a computing device 200 having a display 208, one or more processors 202, and a memory 206. The memory 206 stores (1204) one or more programs configured for execution by the one or more processors 202. In some implementations, Figure 1A , Figure 1B , 4A to 4H , FIG. 5A to FIG. 5I , 6A to 6F , FIG. 7A to FIG. 7D , FIG. 8A to FIG. 8D , Fig. 9 , FIG. 10A to FIG. 10K , FIG. 11A to FIG. 11J , FIG. 12A to FIG. 12K , FIG. 13A to FIG. 13H , FIG. 14A to FIG. 14H , FIG. 15A to FIG. 15H , FIG. 16A to FIG. 16N and FIG. 17A to FIG. 17D The operations shown in the method 1200 correspond to instructions stored in the memory 206 or other non-transitory computer-readable storage medium. The computer-readable storage medium may include a magnetic or optical disk storage device, a solid-state storage device such as a flash memory, or other one or more non-volatile memory devices. In some implementations, the instructions stored on the computer-readable storage medium include one or more of the following: source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations in the method 1200 may be combined and / or the order of some operations may be changed.
[0451] The computing device 200 displays (1206) in a graphical user interface a canvas area 106 that includes one or more scenes 118. The one or more scenes include a first scene 118-1 having a first visualization card 124-1. In some implementations, the first visualization card is a blank visualization card that does not include any data visualization. In some implementations, the first visualization card includes (e.g., contains) a data visualization.
[0452] In some cases, the first scene includes (1208) a second visualization card adjacent to the first visualization card. The second visualization card has a second data visualization.
[0453] The computing device 200 displays (1210) in a graphical user interface a recommendation area 104 including one or more data visualizations. Each of the one or more data visualizations corresponds to a respective metric of a data source. The respective metric has a respective time attribute. In some implementations, the metric spans different time periods and has different time granularities.
[0454] In some cases, the one or more data visualizations include (1212) a first data visualization having a first time granularity. For example, the first time granularity can be a "year" (Y) granularity, a "year-month" (YM) granularity, or a "year-month-day" (YMD) granularity. Figure 7B , Figure 7C and Fig.7D Shown in.
[0455] In some cases, the one or more data visualizations include ( 1214 ) a first data visualization having a timeline field, the timeline field including a start date and an end date.
[0456] In some cases, the first data visualization includes ( 1216 ) a plurality of data markers, the plurality of data markers including data markers corresponding to a start date and an end date.
[0457] In some cases, the first data visualization is ( 1218 ) a line graph (eg, a line chart).
[0458] In some implementations, prior to displaying the one or more data visualizations in the recommendation area, the computing device 200 generates (1220) the one or more data visualizations. In some implementations, the generating includes identifying (1222) a plurality of metrics (e.g., time series metrics) corresponding to a data source. Each of the plurality of metrics has a corresponding time attribute. The generating includes: calculating (1224) a corresponding parameter measuring a variability of a value of the corresponding metric for each of the plurality of metrics, identifying (1226) a subset of metrics from the plurality of metrics based on the calculated parameter; acquiring or generating (1228) a corresponding data visualization for each metric in the subset of metrics; and displaying (1230) the one or more acquired / generated data visualizations in the recommendation area. The method improves user experience by helping users identify new or interesting metrics to introduce in their presentations.
[0459] In some implementations, generating one or more data visualizations includes: when the canvas area includes a second scene with a second visualization card and the second visualization card has a second data visualization, determining (1232) a second metric from the plurality of metrics that corresponds to the second data visualization. Generating includes determining (1234) whether the metric subset includes the second metric. When the metric subset includes the second metric, computing device 200 reduces (1236) the priority of the second metric in the subset. The method improves user experience by helping users identify metrics that have not yet been discussed to include in their presentations.
[0460] In some implementations, the computing device 200 displays ( 1238 ) the data schema and filter panel 102 in a graphical user interface.
[0461] In some implementations, the computing device 200 displays ( 1240 ) the plurality of metrics (eg, identifiers corresponding to the plurality of metrics) in the data schema and filter panel 102 .
[0462] In some implementations, the plurality of metrics corresponds to ( 1242 ) (eg, is associated with) one or more data sources.
[0463] In some implementations, computing device 200 displays (1244) a scenario overview (e.g., Figure 1B 130 in the scenario overview). In some implementations, the scenario overview summarizes all scenarios on the canvas. The scenario overview includes, for each of the one or more scenarios: (i) a corresponding count (e.g., number) of visualization cards corresponding to the scenario; (ii) a corresponding count of text cards corresponding to the scenario; (iii) a corresponding count of unique (e.g., different) metrics corresponding to the scenario (e.g., the scenario overview includes the number of unique metrics for each of the one or more scenarios); and (iv) a corresponding cumulative time span corresponding to the scenario. This Figure 1B The feature improves the user experience by providing a graphical overview of the canvas indicating the associated metrics for each scenario and their chronological coverage.
[0464] In some implementations, the corresponding cumulative time span is displayed (1246) as a graphical element (eg, a bar, line, or rectangle) having a length proportional to the cumulative time span.
[0465] In some cases, computing device 200 receives (1248) a user specification of a second time granularity for the first data visualization, the second time granularity being different from the first time granularity. For example, the second time granularity may include a "year" (Y) granularity, a "year-month" (YM) granularity, or a "year-month-day" (YMD) granularity.
[0466] In some implementations, the user specification includes a user selection (1250) of a user interface element (e.g., an icon or button) in the data mode and filter panel corresponding to the second time granularity (e.g., via a user interface such as Figure 7C and Fig.7D Particle size filter 110 shown).
[0467] In some implementations, based on the user specification, computing device 200 updates ( 1252 ) the data tags in the first data visualization to include a subset of the data tags corresponding to the second time granularity.
[0468] In some implementations, the computing device 200 determines (1254) a start date (e.g., the earliest or least recent date, month, and / or year) and an end date (e.g., the most recent date, month, and / or year) corresponding to the plurality of metrics from the one or more data sources. The computing device 200 displays (1256) the start date and the end date in the data mode and filter panel.
[0469] In some cases, computing device 200 receives (1258) user input to modify the start date and / or end date. Based on the user input, computing device 200 modifies (1260) the timeline domain of the first data visualization based on the modified start date and / or end date. Computing device 200 displays (1262) the updated first data visualization with the modified timeline domain in the recommendation area.
[0470] In some cases, updating the first data visualization includes ( 1264 ) filtering a subset of the plurality of data markers according to the modified timeline domain.
[0471] In some cases, computing device 200 receives (1266) a user selection to add a first data visualization corresponding to the first metric to a first visualization card. In some implementations, the user selection includes clicking an “add to card” icon (e.g., Fig.6D Add icon 450-1 in, or Fig.10J The user selects the add icon 450-10).
[0472] In response to the user selection, computing device 200 updates ( 1268 ) the display of the first visualization card to include the first data visualization.
[0473] In some implementations, in response to the user selection, computing device 200 updates ( 1272 ) scene overview 130 by incrementing (eg, by one) a corresponding count of a visualization card corresponding to the first scene.
[0474] In some implementations, when the first data visualization corresponds to a different metric in the first scene (e.g., the first data visualization corresponds to a metric that has not yet appeared in the first scene), the computing device 200 updates (1272) the scene overview by incrementing (e.g., by one) a corresponding count of the unique metric corresponding to the first scene.
[0475] In some cases, computing device 200 receives ( 1274 ) user input specifying that the first data visualization be merged with the second data visualization.
[0476] In some implementations, in response to user input, the computing device 200 merges (1276) the first data visualization and the second data visualization into a single (e.g., one) data visualization when (i) the first data visualization and the second data visualization share (e.g., include or have) a common time period and (ii) there is a substantial overlap between a first range of values on a vertical axis of the first data visualization and a second range of values on a vertical axis of the second data visualization.
[0477] FIG. 21A to FIG. 21C A flow chart of a method 1300 for combining data visualizations on visualization cards in a time series metric presentation is provided according to some implementations. The method 1300 is also referred to as a process.
[0478] The method 1300 is performed (1302) at a computing device 200 having a display 208, one or more processors 202, and a memory 206. The memory 206 stores (1304) one or more programs configured for execution by the one or more processors 202. In some implementations, Figure 1A , Figure 1B , 4A to 4H , FIG. 5A to FIG. 5I , 6A to 6F , FIG. 7A to FIG. 7D , FIG. 8A to FIG. 8D , Fig. 9 , FIG. 10A to FIG. 10K , FIG. 11A to FIG. 11J , FIG. 12A to FIG. 12K , FIG. 13A to FIG. 13H , FIG. 14A to FIG. 14H , FIG. 15A to FIG. 15H , FIG. 16A to FIG. 16N and FIG. 17A to FIG. 17DThe operations shown in the method 1300 correspond to instructions stored in the memory 206 or other non-transitory computer-readable storage medium. The computer-readable storage medium may include a magnetic or optical disk storage device, a solid-state storage device such as a flash memory, or other one or more non-volatile memory devices. In some implementations, the instructions stored on the computer-readable storage medium include one or more of the following: source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations in the method 1300 may be combined and / or the order of some operations may be changed.
[0479] The computing device 200 displays (1306) the canvas area 106 including the first scene 118 in the graphical user interface 100. The first scene includes a first visualization card 124-1 having a first data visualization and a second visualization card 124-2 adjacent to the first visualization card. The second visualization card has a second data visualization.
[0480] In some implementations, the first visualization card is positioned (1308) to the left of (e.g., immediately to the left of or next to) the second visualization card in the first scene (e.g., no other text or visualization card exists between the first visualization card or the second visualization card). Fig.14A Shown in.
[0481] In some implementations, each of the first data visualization and the second data visualization is ( 1310 ) a line graph.
[0482] In some implementations, computing device 200 displays (1312) a recommendation area in a graphical user interface, the recommendation area including one or more data visualizations, each data visualization corresponding to a respective metric of a data source. Each metric has a respective time attribute. In some implementations, the metrics span different time periods and have different time granularities.
[0483] The computing device 200 receives (1314) a user input specifying that the first data visualization be merged with the second data visualization. In some implementations, the user input includes a selection of a user-selectable interface element (e.g., a merge icon 646, such as Fig.14A In some implementations, the computing device displays the user-selectable interface element based on determining (e.g., detecting) that the two visualization cards are positioned next to each other.
[0484] In some implementations, in response to user input, the computing device 200 merges (1316) the first data visualization and the second data visualization into a single data visualization when (i) the first data visualization and the second data visualization share a common time period (e.g., the first data visualization spans a first time period on the x-axis and the second data visualization spans a second time period on the x-axis, the second time period overlapping the first time period by at least 50%) and (ii) there is a substantial overlap between a first range of values (e.g., numerical values, absolute values, percentage values, or ratios) on the vertical axis of the first data visualization and a second range of values on the vertical axis of the second data visualization (e.g., the first data visualization and the second data visualization have comparable numerical values or values of the same order of magnitude in the vertical axis domain).
[0485] In some cases, a first range of values (e.g., a vertical axis of a first data visualization) has (1318) a first unit of measurement, and a second range of values (e.g., a vertical axis of a second data visualization) has a second unit of measurement that is different from the first unit of measurement. In other words, the option to merge the two visualizations depends on the actual numerical values (e.g., y-values) of the first data visualization and the second data visualization, and the units of measurement of the values do not matter.
[0486] In some implementations, computing device 200 displays ( 1320 ) a legend that includes the first unit of measurement and the second unit of measurement using a single data visualization.
[0487] In some implementations, the single data visualization includes ( 1322 ) a horizontal axis having a common time period and a single vertical axis having a range of values that is common to the first range of values and the second range of values.
[0488] In some implementations, the single data visualization is ( 1324 ) a line graph consisting of two lines (eg, a multi-series line graph).
[0489] In some implementations, the first visualization card is a line graph with one line (e.g., representing one metric). The second visualization card is a line graph with one line (e.g., representing one metric). The merged data visualization is a line graph with two lines (e.g., two metrics).
[0490] In some implementations, the merged data visualization is a data visualization (e.g., a line graph) having a plurality of lines, the number of lines being equal to the sum of the number of lines in the first data visualization on the first visualization card and the number of lines in the second data visualization on the second visualization card.
[0491] In some cases, computing device 200 displays ( 1326 ) a single data visualization on the first visualization card.
[0492] In some implementations, displaying the single data visualization on the first data visualization card includes removing ( 1328 ) (eg, deleting or removing from display) the second visualization card from the first scene.
[0493] In some implementations, method 1300 includes: in response to (1330) user input, when (i) the first data visualization includes a first range of values on the vertical axis and (ii) the second data visualization includes a second range of values on the vertical axis that is substantially different from the first range of values, not allowing merging (unless transformed). In response to the first user input selecting the vertical axis of the first data visualization, computing device 200 displays (1332) a user-selectable interface element (e.g., an icon, button, or affordance) adjacent to the vertical axis of the first data visualization for transforming (e.g., converting) values on the vertical axis (e.g., y-axis) from absolute values to relative values (e.g., percentages or ratios). Computing device 200 receives (1334) a first user selection of the user-selectable interface element. In response to the first user selection, computing device 200 transforms (1336) (e.g., converts or indexes) the first range of values to a relative scale (e.g., ratio or percentage) relative to a first value appearing in the first data visualization. For example, assume that the first value on the vertical axis appearing in the first data visualization is about 10. The value becomes 100%. The other values in the vertical axis are relativized relative to the value 10 (e.g., a value of 15 becomes 150% or 1.5, a value of 8 becomes 80% or 0.8, etc.). Fig.14D Shown in.
[0494] In some implementations, when the first value range and the second value range do not have comparable value ranges, the computing device 200 determines that they are substantially different. Fig. 14C As shown, the first data visualization 654 has a value range from ˜5 to 25, while the second data visualization 656 has a value range from ˜2000 to 5000. In some implementations, when the first value range and the second value range have different orders of magnitude, the computing device 200 determines that they are substantially different. Fig. 14C As an example, the second range of values is two orders of magnitude larger than the first range of values, and when there is no overlap between the first range of values and the second range of values, the computing device 200 determines that the first range of values and the second range of values are substantially different.
[0495] The method improves the user experience by presenting to the user a set of icons that can assist the user in the process of transforming the value domain of data visualization. Providing visual feedback to the user (e.g., in response to a user selection of an icon) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing feedback indicating inputs that will cause the device to generate the expected results to help the user achieve the expected results and reduce user errors in operating / interacting with the device).
[0496] In some implementations, in response to (1338) a second user input selecting a vertical axis of the second data visualization, computing device 200 displays a user-selectable interface element adjacent to the vertical axis of the second data visualization. Computing device 200 receives (1340) a second user selection of the user-selectable interface element. In response to the second user selection, computing device 200 transforms (1342) the second range of values into a relative scale relative to the first values appearing in the second data visualization. This Fig.14F Shown in.
[0497] The method improves the user experience by presenting to the user a set of icons that can assist the user in the process of transforming the value domain of data visualization. Providing visual feedback to the user (e.g., in response to a user selection of an icon) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing feedback indicating inputs that will cause the device to generate the expected results to help the user achieve the expected results and reduce user errors in operating / interacting with the device).
[0498] In some implementations, computing device 200 receives (1344) third user input specifying to merge the first data visualization with the second data visualization. For example, the third user input includes a user selection of a merge option, icon, affordance, or button. In some implementations, based on the third user input, computing device 200 merges (1346) the first data visualization and the second data visualization into a single data visualization.
[0499] FIG. 22A to FIG. 22D A flow diagram of a method 1400 for linking text and visualization in a time series metric presentation according to some implementations is provided. The method 1400 is also referred to as a process.
[0500] The method 1400 is performed (1402) at a computing device 200 having a display 208, one or more processors 202, and a memory 206. The memory 206 stores (1404) one or more programs configured for execution by the one or more processors 202. In some implementations, Figure 1A , Figure 1B , 4A to 4H , FIG. 5A to FIG. 5I , 6A to 6F , FIG. 7A to FIG. 7D , FIG. 8A to FIG. 8D , Fig. 9 , FIG. 10A to FIG. 10K , FIG. 11A to FIG. 11J , FIG. 12A to FIG. 12K , FIG. 13A to FIG. 13H , FIG. 14A to FIG. 14H , FIG. 15A to FIG. 15H , FIG. 16A to FIG. 16N and FIG. 17A to FIG. 17DThe operations shown in the method 1400 correspond to instructions stored in the memory 206 or other non-transitory computer-readable storage medium. The computer-readable storage medium may include a magnetic or optical disk storage device, a solid-state storage device such as a flash memory, or other one or more non-volatile memory devices. In some implementations, the instructions stored on the computer-readable storage medium include one or more of the following: source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations in the method 1400 may be combined and / or the order of some operations may be changed.
[0501] The computing device 200 displays (1406) in the graphical user interface a canvas area including the first scene 118. The first scene includes a first visualization card 124-1 having a first data visualization and a first text card 122-1 adjacent to (eg, to the left or right of) the first visualization card.
[0502] In some cases, the first data visualization is ( 1408 ) a line graph.
[0503] In some cases, the first scene includes ( 1410 ) a second visualization card 124 - 2 having a second data visualization.
[0504] In some implementations, the first text card is positioned (1412) between the first visualization card and the second visualization card. Fig.16A Shown in.
[0505] In some implementations, each of the first data visualization and the second data visualization is ( 1414 ) a line graph.
[0506] In some implementations, the first text card includes (1416) a plurality of text input elements (e.g., Fig.16D ). In some implementations, each of these text input elements can be linked to a visualization card to the left of the text card or a visualization card to the right of the text card.
[0507] In some implementations, the plurality of text input elements includes (1418) a first text input element 706-1 and a second text input element 706-2.
[0508] In some implementations, computing device 200 displays (1420) in a graphical user interface a recommendation region 104 that includes one or more data visualizations. Each of the one or more data visualizations corresponds to a respective metric of a data source, and each metric has a respective time attribute. The metrics can span different time periods and can have different time granularities. Generating two or more independent visualization recommendations in the same recommendation region reduces the amount of user input necessary to build a presentation using a composite data visualization and makes interaction with the tile user interface more efficient.
[0509] The computing device 200 receives (1422) (i) text input from a user and (ii) a user selection of a first user interface element via a first text card for linking the first text card to a first visualization card. For example, the text input includes a comment about a first data visualization.
[0510] In some implementations, text input is received ( 1424 ) from a user via a plurality of text input elements.
[0511] Based on the receipt, computing device 200 determines (1426) whether the text input includes a first expression having a first time span that intersects (e.g., at least partially overlaps) a time domain of the first data visualization. In some implementations, the computing device invokes a library for identifying and normalizing time expressions in a paragraph to perform the determination.
[0512] In some implementations, the first expression is located (1428) in a first text input element.
[0513] Based on determining that the text input includes a first expression, and in response to a first user interaction with a first area of a first text card that includes the first expression, computing device 200 visually emphasizes (1430) a first portion of a first data visualization that corresponds to a first time span. The method improves user experience and provides improved visual feedback to the user by coordinating text comments in a text card with adjacent visualization cards.
[0514] In some implementations, the first user interaction includes a user hovering a mouse cursor over the text input. In some implementations, the first user interaction includes a mouse hover action over a text input element of the first text card.
[0515] In some implementations, as the user interacts with the first area of the first text card (eg, simultaneously with or during the same time), computing device 200 visually emphasizes the first portion of the first data visualization in real-time.
[0516] In some implementations, visually emphasizing the first portion of the first data visualization includes displaying the first portion of the first data visualization in bold, with increased line thickness, using a different color, highlighting, or adding a frame around the first portion that is visually distinct from other portions of the first data visualization that are not mapped to the first time span.
[0517] In some implementations, concurrently with visually emphasizing the first portion of the first data visualization, the computing device 200 visually fades (1432) other portions of the first data visualization that do not correspond to (e.g., map to) the first time span indicated in the first representation. The method improves user experience and provides improved visual feedback to the user by visually fading portions of the data visualization that are not related to the text comment in the adjacent text card.
[0518] In some implementations, visually fading the other portions of the first data visualization includes graying out the other portions or omitting the other portions from display in the first data visualization. In some implementations, visually fading the other portions of the first data visualization includes blurring the other portions in display (e.g., by applying an at least semi-transparent filter (e.g., a fog filter) or a mask to blur the other portions of the first data visualization).
[0519] In some implementations, the first data visualization is a line graph (eg, a line plot). Visually fading other portions of the first data visualization includes reducing the thickness of portions of the line graph that do not correspond to the first time span.
[0520] In some implementations, visually emphasizing the first portion of the first data visualization includes displaying (1434) a portion of the line graph that corresponds to the first time span (e.g., only the first portion and no other portions) (e.g., and omitting from display other portions of the line graph that do not correspond to the first time span).
[0521] refer to Fig. 22C In some implementations, computing device 200 receives (1436) a user selection of a second user interface element via the first text card to link the first text card to the second visualization card. Computing device 200 determines (1438) that a first time span included in the first expression intersects a time domain of a second data visualization (on the second visualization card). Computing device 200 receives (1440) a second user interaction (e.g., a mouse hover) with a first area of the first text card. In response to the second user interaction, computing device 200 simultaneously visually emphasizes (1442) (i) a first portion of the first data visualization and (ii) a second portion of the second data visualization, wherein the first portion and the second portion correspond to the first time span.
[0522] Continue to refer Fig.22D In some implementations, the text input includes (1444) a second expression different from the first expression (eg, an expression including a time element, a phrase, or a partial sentence). The second expression includes a second time span.
[0523] In some implementations, the second expression is located (1446) in a second text input element.
[0524] In some cases, the user input includes multiple expressions of time (eg, time expressions), with each expression in a different text input element within the text card.
[0525] In some cases, computing device 200 receives ( 1448 ) a user selection of a second user interface element via the first text card to link the first text card to the second visualization card.
[0526] Computing device 200 determines (1450) that the second expression intersects the time domain of the second data visualization. Computing device 200 receives (1452) a second user interaction with a second area of the first text card that includes the second expression (e.g., the second area does not include the first time span, or the user does not link the second area to the first visualization card). In response to the second user interaction, computing device 200 simultaneously (1454) (i) visually emphasizes a portion of the second data visualization that corresponds to the second time span and (ii) displays the entirety of the first data visualization.
[0527] FIG. 23A to FIG. 23H A flow chart of a method 1500 for demonstrating time series metrics according to some implementations is provided. The method 1500 is also referred to as a process.
[0528] The method 1500 is performed (1502) at a computing device 200 having a display 208, one or more processors 202, and a memory 206. The memory 206 stores (1504) one or more programs configured for execution by the one or more processors 202. In some implementations, Figure 1A , Figure 1B , 4A to 4H , FIG. 5A to FIG. 5I , 6A to 6F , FIG. 7A to FIG. 7D , FIG. 8A to FIG. 8D , Fig. 9 , FIG. 10A to FIG. 10K , FIG. 11A to FIG. 11J , FIG. 12A to FIG. 12K , FIG. 13A to FIG. 13H , FIG. 14A to FIG. 14H , FIG. 15A to FIG. 15H , FIG. 16A to FIG. 16N and FIG. 17A to FIG. 17DThe operations shown in the method 1500 correspond to instructions stored in the memory 206 or other non-transitory computer-readable storage medium. The computer-readable storage medium may include a magnetic or optical disk storage device, a solid-state storage device such as a flash memory, or other one or more non-volatile memory devices. In some implementations, the instructions stored on the computer-readable storage medium include one or more of the following: source code, assembly language code, object code, or other instruction formats interpreted by one or more processors. Some operations in the method 1500 may be combined and / or the order of some operations may be changed.
[0529] The computing device 200 displays (1506) in the graphical user interface a canvas area that includes the first scene 118. The first scene has a first visualization card.
[0530] In some implementations, the first visualization card is a blank card that does not contain any data visualization. In some implementations, the first visualization card contains (eg, displays or includes) a data visualization.
[0531] In some implementations, computing device 200 generates (1508) one or more data visualizations. In some implementations, generating the one or more data visualizations includes obtaining (1610), for each of the one or more data visualizations, a metric definition for a respective metric corresponding to the respective data visualization. In some implementations, generating the one or more data visualizations includes obtaining, for each of the one or more data visualizations, data corresponding to the metric.
[0532] In some implementations, the metric definition includes information that the computing device 200 uses to build a visualization of the metric. In other words, the computing device 200 uses the metric definition and / or the latest data corresponding to the metric to build the data visualization, rather than obtaining a static, previously saved, stale version of the data visualization itself. Therefore, the method is advantageous over existing methods (and systems) that rely on "static" charts with data that is "frozen in time" when the chart was created.
[0533] The computing device 200 displays (1512) in a graphical user interface a recommendation area 104 including one or more data visualizations. Each of the one or more data visualizations corresponds to a corresponding metric in one or more metrics of a data source. Each metric has a corresponding time attribute (e.g., time). In some implementations, the metrics span different time periods and have different time granularities.
[0534] Computing device 200 receives (1514) a user selection to add a first data visualization corresponding to a first metric of the one or more metrics to a first visualization card. For example, in some implementations, the user selection includes a user selection of “Add to Card” icon 450-1.
[0535] In some cases, the first data visualization is ( 1516 ) a line graph.
[0536] In some cases, the first data visualization includes ( 1518 ) a timeline having values spanning from a start date / time value to an end date / time value.
[0537] In some implementations, in response to the user selection, computing device 200 updates ( 1520 ) the display of the first visualization card to include (eg, add) the first data visualization.
[0538] In some implementations, the first visualization card is initially a blank card that does not include any data visualization.Updating the display of the first visualization card to include the first data visualization includes populating the blank visualization card with the first data visualization.
[0539] In some implementations, the first visualization card includes an existing data visualization. Updating the display of the first visualization card to include the first data visualization includes updating the display of the first visualization card from the existing data visualization to the first data visualization (eg, replacing the existing data visualization with the first data visualization).
[0540] In some cases, after updating the display of the first visualization card to include the first data visualization, the computing device 200 receives (1522) a user interaction with the first visualization card (e.g., a mouse click on an edge or region of the visualization card, such as a top edge or top region). The user interaction specifies a split point on the timeline of the first data visualization (e.g., Fig. 12A In response to the user interaction, computing device 200 displays (1524) a plurality of user-selectable interface elements (e.g., Fig. 12B570-1 through 570-5 shown in FIG. 1 ). The plurality of user-selectable interface elements include (1526) one or more of: (i) a first user-selectable interface element that, when selected (e.g., on a first visualization card), retains data points of the first data visualization before the split point (e.g., to the left of the split point); (ii) a second user-selectable interface element that, when selected, retains data points of the first data visualization after the split point (e.g., to the right of the split point); and (iii) a third user-selectable interface element that, when selected, (a) retains data points of the first data visualization before the split point on the first visualization card and (b) displays data points of the first data visualization after the split point on a second visualization card adjacent to the first visualization card (e.g., the second visualization card is immediately to the right of the first visualization card).
[0541] The method improves the user experience by demonstrating to the user a set of icons that assist the user in the process of retaining or segmenting data visualizations on visualization cards. Providing visual feedback to the user (e.g., in response to a user selection of an icon) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing feedback indicating inputs that will cause the device to generate the expected results to help the user achieve the expected results and reduce user errors in operating / interacting with the device).
[0542] In some cases, computing device 200 receives (1528) a request for a first user-selectable interface element (e.g., Fig. 12B In response to the user selection, computing device 200 generates (1530) an updated first data visualization (e.g., modifies the first data visualization) including an updated timeline having values spanning from (i) a start date / time value to (ii) a date / time value corresponding to a split point. In some implementations, the updated data visualization includes the start date / time value and the date / time value corresponding to the split point. Computing device 200 displays (1532) the updated first data visualization on the first visualization card. This Fig. 12C and Fig.12D Providing visual feedback to the user (e.g., in response to a user selection of an icon) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing feedback indicating inputs that will cause the device to generate the expected results to help the user achieve the expected results and reduce user errors in operating / interacting with the device).
[0543] In some implementations, generating the updated first data visualization includes modifying the first data visualization. In some implementations, generating the updated first data visualization includes taking an existing (e.g., initial) first data visualization and scaling and / or transforming it in some manner (e.g., without having to build the updated data visualization from scratch).
[0544] In some implementations, when date / time filtering occurs, the computing device retains the filtered data, but re-renders the data visualization (e.g., a chart or line graph) without the filtered date / time span. In other words, the date / time filtering adjusts the time domain of the line graph. The original data of the data visualization is retained, and the filtered portion is not displayed.
[0545] In some cases, computing device 200 receives (1534) a request for a second user-selectable interface element (e.g., Fig. 12B In response to the user selection, computing device 200 generates (1536) an updated first data visualization including an updated timeline having values spanning from (i) a date / time value corresponding to the split point to (ii) an end date / time value. In some implementations, the updated first data visualization includes the date / time value corresponding to the split point. In some implementations, the updated first data visualization includes the end date / time value. Computing device 200 displays (1538) the updated first data visualization on the first visualization card. This Figure 12G and Fig.12H Providing visual feedback to the user (e.g., in response to a user selection of an icon) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing feedback indicating inputs that will cause the device to generate the expected results to help the user achieve the expected results and reduce user errors in operating / interacting with the device).
[0546] In some cases, computing device 200 receives (1540) a request for a third user-selectable interface element (e.g., Fig. 12B In response to the user selection, computing device 200 generates (1542) an updated first data visualization including an updated timeline having values spanning from (i) a start date / time value to a first date / time value corresponding to a split point. Computing device 200 generates (1544) a second data visualization including a timeline having values spanning from (ii) the first date / time value to (ii) an end date / time value. Computing device 200 simultaneously (1546) (i) displays the updated first data visualization on a first visualization card and (ii) displays the second data visualization on a second visualization card adjacent to the first visualization card. This Fig.12I , Fig.12J and Figure 12K Providing visual feedback to the user (e.g., in response to a user selection of an icon) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing feedback indicating inputs that will cause the device to generate the expected results to help the user achieve the expected results and reduce user errors in operating / interacting with the device).
[0547] In some cases, after updating the display of the first visualization card to include the first data visualization, the computing device 200 receives (1548) a user interaction with the first data visualization on the first visualization card. For example, in some implementations, the user interaction includes a user selection (e.g., via a mouse click) on a first portion of the first data visualization, holding down a mouse button, and making a dragging motion (e.g., horizontally) while holding down the mouse button (e.g., a sweeping motion).
[0548] In some implementations, the user interactively specifies ( 1550 ) a date / time range on a timeline of the first data visualization.
[0549] In some cases, the date / time range specified via user interaction spans (1552) from a first date / time value to a second date / time value. For example, in some implementations, the first date / time value is a value after (e.g., later than) the start date / time value. In some implementations, the second date / time value is a value before (e.g., earlier than) the end date / time value.
[0550] In some implementations, in response to the user interaction from step 1548, computing device 200 displays (1554) a plurality of user-selectable interface elements (eg, Fig. 13B and Fig. 13C The plurality of user-selectable interface elements include (1556) a first user-selectable interface element (e.g., Fig. 13B The first sweep icon 606-1 in the example embodiment of the present invention, which, when selected, retains data points of the first data visualization within a date / time range specified via user interaction (e.g., within the swept area). The plurality of user-selectable interface elements include a second user-selectable interface element (e.g., Fig. 13B6-2 in the first data visualization, which, when selected, retains data points of the first data visualization outside the date / time range specified via user interaction (e.g., outside the swept area). For example, the user selection of the second user-selectable interface element causes the area outside the swept area to be displayed (e.g., in two adjacent visualization cards). The method improves the user experience by presenting to the user a set of icons that will assist the user in the process of filtering the date / time range of the data visualization.
[0551] In some implementations, in response to a first user-selectable interface element (e.g., Fig. 13B Upon user selection of the first swipe icon 606-1 in the display card, computing device 200 generates (1558) an updated first data visualization including an updated timeline having values spanning from the first date / time value to the second date / time value. Computing device 200 displays (1560) the updated first data visualization on the first visualization card. Fig. 13C and Fig.13D Providing visual feedback to the user (e.g., in response to a user selection of an icon) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing feedback indicating inputs that will cause the device to generate the expected results to help the user achieve the expected results and reduce user errors in operating / interacting with the device).
[0552] In some implementations, in response to selecting a second user-selectable interface element (e.g., Fig. 13B Upon user selection of the second sweep icon 606-2 in the image, computing device 200 generates (1562) an updated first data visualization including an updated timeline having values spanning from the start date / time value to the first date / time value. Computing device 200 generates (1564) a second data visualization including a timeline having values spanning from the second date / time value to the end date / time value. Computing device 200 simultaneously (1566) (i) displays the updated first data visualization on the first visualization card and (ii) displays the second data visualization on a second visualization card adjacent to the first visualization card. This Fig.13F , Figure 13G and Fig.13H Providing visual feedback to the user (e.g., in response to a user selection of an icon) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing feedback indicating inputs that will cause the device to generate the expected results to help the user achieve the expected results and reduce user errors in operating / interacting with the device).
[0553] In some cases, computing device 200 receives (1568) a user interaction with a vertical axis of a first data visualization in a first visualization card. In response to the user interaction, computing device 200 displays (1570) a plurality of user-selectable interface elements. The plurality of user-selectable interface elements include (1572) a first user-selectable interface element (1) that, when selected, switches back and forth between (i) a first vertical axis scale starting at zero (e.g., having values from zero to a maximum value) and (ii) a second vertical axis scale starting at a minimum value (e.g., having values from a minimum value to a maximum value). The plurality of user-selectable interface elements include a second user-selectable interface element (2) that, when selected, switches back and forth between (i) a third vertical axis scale having absolute values and (ii) a fourth vertical axis scale having relative values indexed relative to a first value (e.g., a y-coordinate value) appearing in the first data visualization.
[0554] In some cases, after updating the display of the first visualization card to include the first data visualization, the computing device 200 receives (1574) a user interaction with the timeline of the first data visualization on the first visualization card. In response to the user interaction, the computing device 200 displays (1576) a plurality of user-selectable interface elements (e.g., Fig. 11C The plurality of user-selectable interface elements include (1578) a first user-selectable interface element (e.g., Fig. 11C The method improves the user experience by presenting a set of icons to the user to assist the user in the process of changing the time domain of the data visualization.
[0555] In some implementations, after updating the display of the first visualization card to include the first data visualization, when the first scene includes a second visualization card adjacent to the first visualization card and the second visualization card has a second data visualization, the computing device performs (1580) steps including: in response to a user selection of a timeline of the second data visualization, the computing device 200 displays (1582) a user-selectable element (e.g., Fig. 11C536-2 in the second x-axis icon 536-2). Computing device 200 receives (1584) a user selection of a user-selectable element. In response to the user selection of the user-selectable element, computing device 200 generates (1586) an updated second data visualization with an updated timeline, the updated timeline having data values that match (e.g., correspond, synchronized) with the data values of the timeline of the first data visualization. Computing device 200 displays (1588) the updated second data visualization. Providing visual feedback to the user (e.g., in response to the user selection of the icon) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing feedback indicating input that caused the device to generate the expected result to help the user achieve the expected result and reduce user errors when operating / interacting with the device).
[0556] In some implementations, after updating the display of the first visualization card to include the first data visualization, when the first scene includes a second visualization card adjacent to (e.g., to the right or immediately to the right of) the first visualization card and the second visualization card has a second data visualization, the computing device performs (1590) steps including: in response to a user selection of a vertical axis of the second data visualization, the computing device 200 displays (1592) a user-selectable element (e.g., Fig. 11C 54-3 in the third y-axis icon 534-3). Computing device 200 receives (1594) a user selection of a user-selectable element. In response to the user selection of the user-selectable element, computing device 200 generates (1596) an updated second data visualization with an updated vertical axis, the updated timeline having data values that match (e.g., correspond, synchronized) with the data values of the vertical axis of the first data visualization. Computing device 200 displays (1598) the updated second data visualization. Providing visual feedback to the user (e.g., in response to the user selection of an icon) enhances the operability of the device and makes the user-device interface more efficient (e.g., by providing feedback indicating input that will cause the device to generate the expected result to help the user achieve the expected result and reduce user errors when operating / interacting with the device).
[0557] Each of the executable modules, applications or program sets identified above can be stored in one or more memory devices in the previously mentioned memory devices, and corresponds to an instruction set for performing the above functions. The modules or programs (i.e., instruction sets) identified above do not need to be implemented as separate software programs, programs or modules, and therefore various subsets of these modules can be combined or otherwise rearranged in various implementations. In some implementations, the memory stores a subset of the modules and data structures identified above. In addition, the memory can store additional modules or data structures not described above.
[0558] The terms used in this article for the description of the present invention are only for the purpose of describing a specific implementation, and are not intended to limit the present invention. As used in the description of the present invention and the appended claims, the singular forms of "a", "an" and "the" are intended to include plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" as used herein refers to and covers any and all possible combinations of one or more items in the associated listed items. It should also be understood that when used in this specification, the terms "include" and / or "comprise" specify the presence of stated features, steps, operations, elements and / or parts, but do not exclude the presence or addition of one or more other features, steps, operations, elements, parts and / or their groups.
[0559] As used herein, the phrase "based on" does not mean "only based on," unless explicitly specified otherwise. In other words, the phrase "based on" describes "only based on" and "based at least on."
[0560] As used herein, the term "exemplary" means "serving as an example, instance, or illustration," and does not necessarily indicate any preference or superiority of one example over any other configurations or implementations.
[0561] As used herein, the term "and / or" encompasses any combination of the listed elements. For example, "A, B, and / or C" includes the following element sets: only A, only B, only C, A and B without C, A and C without B, B and C without A, and combinations of all three elements A, B, and C.
[0562] For the purpose of explanation, the foregoing description has been described with reference to specific implementations. However, the above illustrative discussion is not intended to be exhaustive or to limit the invention to the precise form disclosed. In view of the above teachings, many modifications and variations are possible. These implementations are selected and described in order to best explain the principles of the invention and its practical application, so that those skilled in the art can best utilize the invention and various implementations with various modifications suitable for the specific purpose envisioned.
Claims
1. A method for recommending visualizations for interactive presentations of time series metrics, comprising: At a computing device having a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors: identifying a plurality of metrics corresponding to one or more data sources, each metric in the plurality of metrics having a corresponding time attribute; receiving a first user input to add a data visualization to a first visualization card in a first scene of the interactive presentation; In response to the first user input, and based on determining that the first scene is an initial scene to be added to a canvas area of a graphical user interface: for each metric of the plurality of metrics, calculating a respective parameter measuring a variability in a value of the respective metric; identifying a first subset of metrics from the plurality of metrics based on the calculated parameter; For each metric in the first subset of metrics, generating a corresponding data visualization; displaying a plurality of generated data visualizations in a recommendation area of the graphical user interface; receiving a user selection of a first data visualization of the plurality of data visualizations corresponding to a first metric in the first subset of metrics; as well as In response to the user selection, the first visualization card is populated with the first data visualization.
2. The method of claim 1 , wherein generating the corresponding data visualization comprises: A metric definition is obtained for a metric corresponding to the corresponding data visualization.
3. The method of claim 2, wherein generating the corresponding data visualization comprises: Data corresponding to the metric is obtained.
4. The method according to any one of claims 1 to 3, wherein the first data visualization is a line graph.
5. The method according to any one of claims 1 to 4, further comprising: receiving, before the first user input, a second user input to add the first visualization card to the first scene; as well as In response to the second user input, displaying a blank visualization card in the first scene, Wherein populating the first visualization card with the first data visualization comprises updating the blank visualization card to include the first data visualization. The method of claim 5 , wherein the first user input comprises a user selection of the blank visualization card.
7. The method according to any one of claims 1 to 6, further comprising: In response to the first user input, and based on determining that the canvas area includes a previous scene having a second visualization card having a second data visualization: determining a second metric among the plurality of metrics corresponding to the second data visualization; determining whether the first subset of metrics includes the second metric; as well as According to determining that the first metric subset includes the second metric, a priority of the second metric in the first subset is reduced.
8. The method according to claim 7, wherein: The plurality of data are visually displayed as a list in the recommendation area; and Lowering the priority of the second metric includes changing an order in which the second data visualizations are displayed in the list.
9. The method of claim 7 or 8, wherein lowering the priority of the second metric comprises: The second data visualization is excluded from the displayed plurality of data visualizations.
10. The method according to any one of claims 1 to 9, further comprising: In response to the first user input, and based on determining that the first scene has been populated with a second visualization card having a second data visualization and corresponding to a second metric in the plurality of metrics: determining one or more metrics corresponding to the second visualization card; identifying a second subset of metrics excluding the one or more metrics from the plurality of metrics; For each metric in the second subset of metrics, calculating a corresponding correlation coefficient between (i) a value of the metric and (ii) a data value displayed in the second data visualization; identifying a third metric from the second subset of metrics based on the calculated correlation coefficient; generating a third data visualization corresponding to the third metric; and The third data visualization is displayed in the recommendation area.
11. The method of claim 10, wherein generating the third data visualization corresponding to the third metric comprises: Obtaining a metric definition and associated data corresponding to the third metric; as well as The third data visualization is generated using the metric definition and the associated data.
12. The method of claim 10 or 11, wherein the second visualization card immediately precedes the first visualization card in the first scene.
13. The method according to any one of claims 10 to 12, wherein in the second subset of metrics, the third metric has the strongest correlation with the second metric.
14. The method according to any one of claims 1 to 13, wherein: The first data visualization includes data values spanning a first date / time range; as well as The method further comprises: After populating the first visualization card with the first data visualization, receiving a second user input to add a second visualization card in the first scene; In response to the second user input, one or more visualization recommendations are generated for the second visualization card, the one or more visualization recommendations comprising one of: a first visualization recommendation that filters the values of the first metric to a subset of data values corresponding to a second date / time range that is narrower than the first date / time range; or A second visualization is recommended that spans an entire time period of the one or more data sources. The method of claim 14 , wherein the subset of data values corresponds to a local maximum or a local minimum of the first data visualization.
16. The method according to claim 14 or 15, further comprising: identifying the subset of data values using a moving average algorithm; generating a first line graph including the subset of data values; as well as The first line graph is displayed in the recommendation area.
17. A method according to any one of claims 14 to 16, wherein the one or more data sources include a second metric having a categorical data field; as well as The method further comprises: generating a second data visualization having a plurality of lines, each of the lines corresponding to a different data value for the categorical data field; as well as The second data visualization is displayed in the recommendation area.
18. The method of any one of claims 14 to 17, wherein the one or more visualization recommendations include a third visualization recommendation corresponding to a second metric different from the first metric.
19. The method of any one of claims 1 to 18, wherein the one or more data sources include a second metric having a categorical data field; as well as The method further comprises: generating a second data visualization; as well as The second data visualization is displayed in the recommendation area.
20. The method of claim 19, wherein the second data visualization is a line graph having a plurality of lines, each of the lines corresponding to a different data value of the categorical data field.
21. The method of claim 19 or 20, wherein the first data visualization and the second data visualization are displayed simultaneously in the recommendation area.
22. The method according to any one of claims 1 to 21, further comprising: receiving a user selection of a second metric from among the plurality of metrics in a data mode and filter panel of the graphical user interface; as well as In response to the user selection, a second data visualization corresponding to the second metric is displayed in the recommendation area.
23. The method according to any one of claims 1 to 22, further comprising: receiving a user selection of a second metric and a third metric from the plurality of metrics in a data mode and filter panel of the graphical user interface; as well as In response to the user selecting: generating a second data visualization including two lines corresponding to the second metric and the third metric, respectively; and The second data visualization is displayed in the recommendation area.
24. The method of any one of claims 1 to 23, wherein each of the plurality of data visualizations is a line graph that depicts changes in the value of the corresponding metric over a date / time range corresponding to the corresponding metric.
25. The method of any one of claims 1 to 24, wherein identifying the first subset of metrics comprises: arranging the plurality of metrics in descending order based on the calculated parameter; as well as Based on the arrangement, the first subset of metrics is identified.
26. The method of any one of claims 1 to 25, wherein identifying the first subset of metrics comprises: It is determined that each metric in the first subset of metrics has a coefficient of variation that exceeds a predetermined threshold.
27. The method according to any one of claims 1 to 26, further comprising: After populating the first visualization card with the first data visualization, causing a second visualization card to be displayed adjacent to the first visualization card, the second visualization card having a second data visualization.
28. The method according to claim 27, further comprising: receiving user input specifying merging the first data visualization with the second data visualization; as well as In response to the user input and based on determining that (i) the first data visualization and the second data visualization share a common time period and (ii) there is a substantial overlap between a first range of values in a vertical axis of the first data visualization and a second range of values in a vertical axis of the second data visualization, the first data visualization and the second data visualization are merged into a single data visualization.
29. The method of claim 28, wherein: The first range of values has a first unit of measurement; and The second range of values has a second unit of measurement different from the first unit of measurement.
30. The method of claim 29, further comprising: A legend including the first measurement unit and the second measurement unit is displayed using the single data visualization.
31. The method of any one of claims 28 to 30, wherein the single data visualization comprises: a horizontal axis having said common time period; and A vertical axis has a value range common to the first value range and the second value range.
32. The method according to any one of claims 28 to 31, further comprising: The single data visualization is displayed on the first data visualization card.
33. The method of claim 32, wherein displaying the single data visualization on the first data visualization card comprises: The second visualization card is removed from the first scene.
34. A method according to any one of claims 28 to 33, wherein: Each of the first data visualization and the second data visualization is a line graph; and The single data visualization is a line graph consisting of two lines.
35. A method according to any one of claims 27 to 34, wherein: The first data visualization includes a first range of values in a vertical axis; as well as the second data visualization comprising a second range of values in the vertical axis that is substantially different than the first range of values; The method further comprises: In response to a first user input selecting the vertical axis of the first data visualization, displaying a user-selectable interface element adjacent to the vertical axis of the first data visualization for transforming values in the vertical axis from absolute values to relative values; receiving a first user selection of the user-selectable interface element; In response to the first user selection, transforming the first range of values to a relative scale relative to a first value in the first data visualization; in response to a second user input selecting the vertical axis of the second data visualization, displaying the user-selectable interface element adjacent to the vertical axis of the second data visualization; receiving a second user selection of the user-selectable interface element; responsive to the second user selection, transforming the second range of values to a relative scale relative to first values appearing in the second data visualization; receiving a third user input specifying merging the first data visualization with the second data visualization; and Based on the third user input, the first data visualization and the second data visualization are merged into a single data visualization.
36. The method according to any one of claims 1 to 35, further comprising: After populating the first visualization card with the first data visualization, causing a first text card to be displayed adjacent to the first visualization card in the first scene.
37. The method of claim 36, further comprising: receiving, via the first text card, (i) text input from a user and (ii) a user selection of a first user interface element for linking the first text card to the first visualization card; Based on the receiving, determining whether the text input includes a first temporal expression that intersects a temporal domain of the first visualization card; and Based on determining that the text input includes a temporal expression that intersects a temporal domain of the first data visualization, and in response to a first user interaction with a first area of the first text card that includes the first temporal expression: A first portion of the first data visualization corresponding to a first time span indicated in the first time representation is visually emphasized.
38. The method of claim 37, further comprising: Concurrently with visually emphasizing the first portion of the first data visualization, other portions of the first data visualization are visually de-emphasized.
39. The method of claim 37 or 38, wherein: The first scene includes a second visualization card having a second data visualization; and The method further comprises: receiving, via the first text card, a user selection of a second user interface element for linking the first text card to the second visualization card; determining that the first time span included in the text input overlaps a time domain of the second data visualization; receiving a second user interaction with the first area of the first text card; and In response to the second user interaction, simultaneously visually emphasizing (i) the first portion of the first data visualization and (ii) a second portion of the second data visualization, the first portion and the second portion corresponding to the first time span indicated in the first time representation.
40. The method of claim 39, wherein the first text card is positioned between the first visualization card and the second visualization card.
41. A method according to any one of claims 37 to 40, wherein: The first scene includes a second visualization card having a second data visualization; and The text input also includes a second time expression different from the first time expression, the second time expression corresponding to a second time span; as well as The method further comprises: receiving, via the first text card, a user selection of a second user interface element for linking the first text card to the second visualization card; determining that the second time span intersects a time domain of the second data visualization; receiving a second user interaction with a second area of the first text card including the second time expression; and In response to the second user interaction, simultaneously: (i) visually emphasizing a portion of the second data visualization corresponding to the second time span; and (ii) displaying the entirety of the first data visualization.
42. The method of claim 41, wherein the first text card is positioned between the first visualization card and the second visualization card.
43. The method of claim 41 or 42, wherein: The first text card includes a plurality of text input elements; and The text input is received from the user via the plurality of text input elements.
44. The method of claim 43, wherein: The plurality of text input elements include a first text input element and a second text input element; The first time expression is located in the first text input element; and The second time expression is located in the second text input element.
45. The method according to any one of claims 1 to 44, further comprising: After populating the first visualization card with the first data visualization, receiving a user interaction with the first visualization card, the user interaction further specifying a split point on a timeline of the first data visualization; as well as In response to the user interaction, displaying a plurality of user-selectable interface elements for filtering the date-time range of the first data visualization, the plurality of user-selectable interface elements comprising two or more of the following: a first user-selectable interface element that, when selected, retains the first data visualization for data points prior to the split point; a second user-selectable interface element that, when selected, retains the first data visualization for data points subsequent to the segmentation point; and A third user-selectable interface element that, when selected, (i) retains data points of the first data visualization before the split point on the first visualization card and (ii) displays data points of the first data visualization after the split point on a second visualization card adjacent to the first visualization card.
46. The method of claim 45, wherein: The first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value; and The method further comprises: In response to a user selection of the first user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from (i) the start date / time value to (ii) a date / time value corresponding to the split point; and The updated first data visualization is displayed on the first visualization card.
47. The method of claim 45 or 46, wherein: The first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value; and The method further comprises: In response to a user selection of the second user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from (i) the date / time value corresponding to the split point to (ii) the end date / time value; and The updated first data visualization is displayed on the first visualization card.
48. A method according to any one of claims 45 to 47, wherein: The first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value; and The method further comprises: In response to a user selection of the third user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from (i) the start date / time value to a first date / time value corresponding to the split point; generating a second data visualization including a timeline having values spanning from (ii) the first date / time value to (ii) the end date / time value; and Simultaneously (i) displaying the updated first data visualization on the first visualization card and (ii) displaying the second data visualization on a second visualization card adjacent to the first visualization card.
49. The method according to any one of claims 1 to 48, further comprising: After populating the first visualization card with the first data visualization, receiving a user interaction with the first data visualization on the first visualization card, the user interaction further specifying a date / time range on a timeline of the first data visualization; as well as In response to the user interaction, displaying a plurality of user-selectable interface elements for filtering a date-time range of the first data visualization, including: a first user-selectable interface element that, when selected, retains data points of the first data visualization within the date / time range specified via the user interaction; and A second user-selectable interface element that, when selected, retains data points of the first data visualization that are outside the date / time range specified via the user interaction.
50. The method of claim 49, wherein: The date / time range spans from a first date / time value to a second date / time value; as well as The method further comprises: In response to a user selection of the first user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from the first date / time value to a second date / time value; and The updated first data visualization is displayed on the first visualization card.
51. The method of claim 49 or 50, wherein: The first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value; as well as The date / time range spans from a first date / time value to a second date / time value; as well as The method further comprises: In response to a user selection of the second user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from the start date / time value to the first date / time value; generating a second data visualization including a timeline having values spanning from the second date / time value to the end date / time value; as well as Simultaneously (i) displaying the updated first data visualization on the first visualization card and (ii) displaying the second data visualization on a second visualization card adjacent to the first visualization card.
52. The method according to any one of claims 1 to 51, further comprising: After populating the first visualization card with the first data visualization, receiving a user interaction with a vertical axis of the first data visualization in the first visualization card; as well as In response to the user interaction, displaying a plurality of user-selectable interface elements including: a first user-selectable interface element that, when selected, switches back and forth between (i) a first vertical axis scale starting at zero and (ii) a second vertical axis scale starting at a minimum value; and A first user-selectable interface element that, when selected, switches back and forth between (i) a third vertical axis scale having absolute values and (ii) a fourth vertical axis scale having relative values indexed relative to a first value appearing in the first data visualization.
53. The method according to any one of claims 1 to 52, further comprising: After populating the first visualization card with the first data visualization, receiving a user interaction with a timeline of the first data visualization in the first visualization card; as well as In response to the user selection, displaying a plurality of user-selectable interface elements including: A first user-selectable interface element that, when selected, switches back and forth between (i) a first timeline scale having absolute date / time values and (ii) a second timeline scale having relative dates relative to a first date in the first data visualization.
54. The method according to any one of claims 1 to 53, further comprising: After populating the first visualization card with the first data visualization, and based on determining that the first scene includes a second visualization card adjacent to the first visualization card, the second visualization card having a second data visualization: responsive to a user selection of the timeline of the second data visualization, displaying a user-selectable element; receiving a user selection of the user-selectable element; as well as In response to a user selection of the user-selectable element: generating an updated second data visualization having an updated timeline with data values matching the data values of the timeline of the first data visualization; and The updated second data visualization is displayed.
55. The method according to any one of claims 1 to 54, further comprising: After populating the first visualization card with the first data visualization, and based on determining that the first scene includes a second visualization card adjacent to the first visualization card, the second visualization card having a second data visualization: responsive to a user selection of a vertical axis of the second data visualization, displaying a user-selectable element; receiving a user selection of the user-selectable element; as well as In response to a user selection of the user-selectable element: generating an updated second data visualization having an updated vertical axis having data values that match the data values of the vertical axis of the first data visualization; and The updated second data visualization is displayed.
56. A method according to any one of claims 1 to 55, wherein: displaying the first visualization card in the first scene in the canvas area; and The method further comprises displaying in the graphical user interface: a recommendation region comprising one or more data visualizations, each of the one or more data visualizations corresponding to a respective metric of a data source, the respective metric having a respective time attribute; and A scenario overview, which includes, for each of the one or more scenarios: the corresponding counts of visualization cards corresponding to the described scenarios; a corresponding count of text cards corresponding to said scenario; and a corresponding count of unique metrics corresponding to the scenario; and The corresponding cumulative time span corresponding to the scenario.
57. The method of claim 56, wherein the respective cumulative time spans are displayed as graphical elements having lengths proportional to the cumulative time spans.
58. The method of claim 56 or 57, wherein: The one or more data visualizations include a second data visualization having a first time granularity; The method further comprises: receiving a user specification of a second time granularity for the second data visualization, the second time granularity being different from the first time granularity; and Based on the user specification, data markers in the second data visualization are updated to include a subset of data markers corresponding to the second time granularity.
59. The method of claim 58, wherein the user specification comprises a user selection of a user interface element in a data mode and filter panel of the graphical user interface that corresponds to the second time granularity.
60. The method according to any one of claims 56 to 59, further comprising: A plurality of metrics are displayed in a data mode and filter panel of the graphical user interface.
61. The method of claim 60, wherein: The plurality of metrics correspond to one or more data sources; as well as The method further comprises: determining, from the one or more data sources, a start date and an end date corresponding to the plurality of metrics; as well as The start date and the end date are displayed in the data model and filter panel.
62. The method of claim 61, wherein: The one or more data visualizations include a second data visualization having a timeline field, the timeline field including the start date and the end date; and The method further comprises: receiving user input that modifies at least one of: the start date or the end date; and Based on the user input: modifying the timeline domain of the second data visualization according to at least one of the start date or the end date that has been modified; and An updated second data visualization having a modified timeline domain is displayed in the recommendation area.
63. The method of claim 62, wherein: The second data visualization includes a plurality of data markers, including data markers corresponding to the start date and the end date; and The updated second data visualization includes a subset of the plurality of data markers filtered according to the modified timeline domain.
64. A computing device comprising: monitor; one or more processors; and A memory connected to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for executing the method of any one of claims 1 to 63.
65. A non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a computing device, the one or more programs comprising instructions for performing the method of any one of claims 1 to 63. 66.A method for recommending visualizations for interactive presentations of time series metrics, comprising: At a computing device having a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors: identifying a plurality of metrics corresponding to one or more data sources, each metric in the plurality of metrics having a corresponding time attribute; receiving a first user input to add a data visualization to a first visualization card in a first scene of the interactive presentation; In response to the first user input, and based on determining that the first scene is an initial scene to be added to a canvas area of a graphical user interface: for each metric of the plurality of metrics, calculating a respective parameter measuring a variability in a value of the respective metric; identifying a first subset of metrics from the plurality of metrics based on the calculated parameter; For each metric in the first subset of metrics, generating a corresponding data visualization; displaying a plurality of generated data visualizations in a recommendation area of the graphical user interface; receiving a user selection of a first data visualization of the plurality of data visualizations corresponding to a first metric in the subset of metrics; as well as In response to the user selection, the first visualization card is populated with the first data visualization.
67. The method of claim 66, wherein generating the corresponding data visualization comprises: Obtaining (i) a metric definition for a metric corresponding to the corresponding data visualization and / or (ii) data corresponding to the metric.
68. The method of claim 66 or 67, wherein the first data visualization is a line graph.
69. The method according to any one of claims 66 to 68, further comprising: receiving, before the first user input, a second user input to add the first visualization card to the first scene; as well as In response to the second user input, displaying a blank visualization card in the first scene, Wherein populating the first visualization card with the first data visualization includes updating the blank visualization card to include the first data visualization.
70. The method of any one of claims 66 to 69, wherein the first user input comprises a user selection of the blank visualization card.
71. The method of any one of claims 66 to 70, further comprising: In response to the first user input, and based on determining that the first scene has been populated with a second visualization card having a second data visualization and corresponding to a second metric in the plurality of metrics: determining one or more metrics corresponding to the second visualization card; identifying a second subset of metrics excluding the one or more metrics from the plurality of metrics; For each metric in the second subset of metrics, calculating a corresponding correlation coefficient between (i) a value of the metric and (ii) a data value displayed in the second data visualization; identifying a third metric from the second subset of metrics based on the calculated correlation coefficient; generating a third data visualization corresponding to the third metric; and The third data visualization is displayed in the recommendation area.
72. The method of claim 71 , wherein generating the third data visualization corresponding to the third metric comprises: Obtaining a metric definition and associated data corresponding to the third metric; as well as The third data visualization is generated using the metric definition and the associated data.
73. The method of claim 71 or 72, wherein the second visualization card immediately precedes the first visualization card in the first scene.
74. A method according to any one of claims 71 to 73, wherein in the second subset of metrics, the third metric has the strongest correlation with the second metric.
75. The method of any one of claims 66 to 74, wherein: The first data visualization includes data values spanning a first date / time range; as well as The method further comprises: After populating the first visualization card with the first data visualization, receiving a second user input to add a second visualization card in the first scene; In response to the second user input, one or more visualization recommendations are generated for the second visualization card, the one or more visualization recommendations comprising one of: a first visualization recommendation that filters the values of the first metric to a subset of data values corresponding to a second date / time range that is narrower than the first date / time range; or A second visualization is recommended that spans an entire time period of the one or more data sources.
76. The method of claim 75, wherein the subset of data values corresponds to a local maximum or a local minimum of the first data visualization.
77. The method of claim 75 or 76, further comprising: identifying the subset of data values using a moving average algorithm; generating a first line graph including the subset of data values; as well as The first line graph is displayed in the recommendation area.
78. A method according to any one of claims 75 to 77, wherein: The one or more data sources include a second metric having a categorical data field; as well as The method further comprises: generating a third visualization recommendation comprising a second line graph having a plurality of lines, each of the lines corresponding to a different data value of the categorical data field; as well as The third visual recommendation is displayed in the recommendation area.
79. The method of any one of claims 75 to 78, wherein the one or more visualization recommendations include a third visualization recommendation corresponding to a second metric different from the first metric.
80. The method of any one of claims 66 to 79, wherein: The one or more data sources include a second metric having a categorical data field; as well as The method further comprises: generating a second data visualization having a plurality of lines, each of the lines corresponding to a different data value for the categorical data field; as well as The second data visualization is displayed in the recommendation area.
81. The method of claim 80, wherein the first data visualization and the second data visualization are displayed simultaneously in the recommendation area.
82. The method of any one of claims 66 to 81, further comprising: receiving a user selection of a second metric from among the plurality of metrics in a data mode and filter panel of the graphical user interface; as well as In response to the user selection, a second data visualization corresponding to the second metric is displayed in the recommendation area.
83. The method of any one of claims 66 to 82, further comprising: receiving a user selection of a second metric and a third metric from the plurality of metrics in a data mode and filter panel of the graphical user interface; as well as In response to the user selecting: generating a second data visualization including two lines corresponding to the second metric and the third metric, respectively; and The second data visualization is displayed in the recommendation area.
84. A method according to any one of claims 66 to 83, wherein each data visualization of the plurality of data visualizations is a line graph that depicts changes in the value of the corresponding metric over a date / time range corresponding to the corresponding metric.
85. The method of any one of claims 66 to 84, wherein identifying the first subset of metrics comprises: ranking the plurality of metrics based on corresponding calculated parameters; as well as Based on the arrangement, the first subset of metrics is identified.
86. The method of any one of claims 66 to 85, wherein identifying the first subset of metrics comprises: It is determined that each metric in the first subset of metrics has a coefficient of variation that exceeds a predetermined threshold.
87. The method of any one of claims 66 to 86, further comprising: In the graphical user interface is shown: a data mode and filter panel including the plurality of metrics; and The canvas area, which is used to add one or more scenes for an interactive presentation.
88. A computing device comprising: monitor; one or more processors; and A memory connected to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for executing the method described in any one of claims 66 to 87.
89. A non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a computing device, the one or more programs comprising instructions for performing the method of any one of claims 66 to 87. 90.A method for recommending visualizations for interactive presentations of time series metrics, comprising: At a computing device having a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors: receiving a user selection of one or more data sources; identifying a plurality of metrics corresponding to the one or more data sources, each metric in the plurality of metrics having a corresponding time attribute; Displaying a canvas area in the graphical user interface for adding one or more scenes for an interactive presentation; receiving a first user input to add a first data visualization to a first visualization card in a first scene of the interactive presentation; In response to the first user input, and based on determining that the canvas area includes a previous scene having a second visualization card having a second data visualization: for each metric of the plurality of metrics, calculating a respective parameter measuring a variability in a value of the respective metric; identifying a first subset of metrics from the plurality of metrics based on the calculated parameter; For each metric in the first subset of metrics, generating a corresponding data visualization; identifying a first metric among the plurality of metrics that corresponds to the second data visualization; determining whether the first subset of metrics includes the first metric; as well as Based on the determination, a plurality of generated data visualizations are displayed in a recommendation area of the graphical user interface.
91. The method of claim 90, wherein generating the corresponding data visualization comprises: Obtaining (i) a metric definition for a metric corresponding to the corresponding data visualization and / or (ii) data corresponding to the metric.
92. The method of claim 90 or 91, wherein displaying the plurality of generated data visualizations based on the determining comprises: According to determining that the first metric subset includes the second metric, a priority of the second metric in the first subset is reduced.
93. The method of claim 92, wherein: The plurality of data are visually displayed as a list in the recommendation area; and Lowering the priority of the second metric includes changing an order in which the second data visualizations are displayed in the list.
94. The method of claim 92 or 93, wherein said reducing the priority of said second metric comprises: The second visualization is excluded from the displayed plurality of data visualizations.
95. The method according to any one of claims 90 to 94, further comprising: receiving a user selection of a first data visualization from the plurality of data visualizations that corresponds to a second metric from the subset of metrics; as well as In response to the user selection, the first visualization card is populated with the first data visualization.
96. The method of claim 95, wherein: The first data visualization includes data values spanning a first date / time range; as well as The method further comprises: After populating the first visualization card with the first data visualization, receiving a second user input to add a third visualization card in the first scene; In response to the second user input, one or more visualization recommendations are generated for the third visualization card, the one or more visualization recommendations comprising one of the following: a first visualization recommendation that filters the values of the first metric to a subset of data values corresponding to a second date / time range that is narrower than the first date / time range; or A second visualization is recommended that spans an entire time period of the one or more data sources.
97. The method of claim 96, wherein the subset of data values corresponds to a local maximum or a local minimum of the first data visualization.
98. The method of claim 96 or 97, further comprising: identifying the subset of data values using a moving average algorithm; generating a first line graph including the subset of data values; as well as The first line graph is displayed in the recommendation area.
99. A method according to any one of claims 90 to 98, wherein the one or more data sources include a second metric having a categorical data field; as well as The method further comprises: generating a line graph having a plurality of lines, each of the lines corresponding to a different data value of the categorical data field; as well as The line graph is displayed in the recommendation area.
100. The method of any one of claims 90 to 99, wherein: The graphical user interface includes a data mode and filter panel displaying the plurality of metrics; as well as The method further comprises: receiving a user selection of a second metric from among the plurality of metrics in the data mode and filter panel; as well as In response to the user selection, a second data visualization corresponding to the second metric is displayed in the recommendation area.
101. The method of any one of claims 90 to 100, wherein: The graphical user interface includes a data mode and filter panel displaying the plurality of metrics; as well as The method further comprises: receiving a user selection of a second metric and a third metric from among the plurality of metrics in the data mode and filter panel; as well as In response to the user selecting: generating a second data visualization including two lines corresponding to the second metric and the third metric, respectively; and The second data visualization is displayed in the recommendation area.
102. The method of any one of claims 90 to 101, wherein each of the plurality of data visualizations is a line graph that depicts changes in the value of the corresponding metric over a date / time range corresponding to the corresponding metric.
103. The method of any one of claims 90 to 102, wherein identifying the first subset of metrics comprises: arranging the plurality of metrics in an order based on the calculated parameter; as well as Based on the arrangement, the first subset of metrics is identified.
104. The method of any one of claims 90 to 103, wherein identifying the first subset of metrics comprises: It is determined that each metric in the first subset of metrics has a coefficient of variation that exceeds a predetermined threshold.
105. A computing device comprising: monitor; one or more processors; and A memory connected to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for executing the method of any one of claims 90 to 104.
106. A non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a computing device, the one or more programs comprising instructions for performing the method of any one of claims 90 to 104. 107.A method for demonstrating time series metrics, comprising: At a computing device having a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors: In the GUI it is displayed: a canvas area including one or more scenes including a first scene having a first visualization card; a recommendation region comprising one or more data visualizations, each of the one or more data visualizations corresponding to a respective metric of a data source, the respective metric having a respective time attribute; and A scenario overview, which includes, for each of the one or more scenarios: the corresponding counts of visualization cards corresponding to the described scenarios; the corresponding count of the text cards corresponding to the said scenario; a corresponding count of unique metrics corresponding to the scenario; and The corresponding cumulative time span corresponding to the scenario.
108. The method of claim 107, wherein the respective cumulative time spans are displayed as graphical elements having lengths proportional to the cumulative time spans.
109. The method of claim 107 or 108, wherein: The one or more data visualizations include a first data visualization having a first time granularity; The method further comprises: receiving a user specification of a second time granularity for the first data visualization, the second time granularity being different from the first time granularity; and Based on the user specification, data markers in the first data visualization are updated to include a subset of data markers corresponding to the second time granularity.
110. The method of claim 109, further comprising: displaying a data model and a filter panel in the graphical user interface, Wherein the user specification comprises a user selection of a user interface element in the data mode and filter panel corresponding to the second time granularity.
111. The method according to any one of claims 107 to 110, further comprising: A plurality of metrics are displayed in a data mode and filter panel of the graphical user interface.
112. The method of claim 111, wherein: The plurality of metrics correspond to one or more data sources; as well as The method further comprises: determining, from the one or more data sources, a start date and an end date corresponding to the plurality of metrics; as well as The start date and the end date are displayed in the data model and filter panel.
113. The method of claim 112, wherein: The one or more data visualizations include a first data visualization having a timeline field, the timeline field including the start date and the end date; and The method further comprises: receiving user input that modifies at least one of: the start date or the end date; and Based on the user input: modifying the timeline domain of the first data visualization according to at least one of the start date or the end date being modified; and An updated first data visualization having a modified timeline domain is displayed in the recommendation area.
114. The method of claim 113, wherein: The first data visualization includes a plurality of data markers, including data markers corresponding to the start date and the end date; and The updated first data visualization includes a subset of the plurality of data markers filtered according to the modified timeline domain.
115. The method of claim 113 or 114, wherein the first data visualization is a line graph.
116. The method of any one of claims 107 to 115, further comprising: receiving a user selection to add a first data visualization corresponding to a first metric to the first visualization card; as well as In response to the user selection, a display of the first visualization card is updated to include the first data visualization.
117. The method of claim 116, further comprising: Based on determining that the first data visualization corresponds to different metrics in the first scenario: The scenario summary is updated by incrementing the respective counts of unique metrics corresponding to the first scenario.
118. The method of claim 116 or 117, further comprising: In response to the user selecting: The scenario overview is updated by incrementing the corresponding count of the visualization card corresponding to the first scenario.
119. The method of any one of claims 116 to 118, wherein: The first scene includes a second visualization card adjacent to the first visualization card, the second visualization card having a second data visualization; and The method further comprises: receiving user input specifying merging the first data visualization with the second data visualization; and In response to the user input and based on determining that (i) the first data visualization and the second data visualization share a common time period and (ii) there is a substantial overlap between a first range of values in a vertical axis of the first data visualization and a second range of values in a vertical axis of the second data visualization, the first data visualization and the second data visualization are merged into a single data visualization.
120. The method of any one of claims 107 to 119, further comprising: Before displaying the one or more data visualizations in the recommendation area, generating the one or more data visualizations includes: identifying a plurality of metrics corresponding to the data source, each metric in the plurality of metrics having a corresponding time attribute; for each metric of the plurality of metrics, calculating a respective parameter measuring a variability in a value of the respective metric; identifying a subset of metrics from the plurality of metrics based on the calculated parameter; For each metric in the metric subset, obtaining corresponding data visualization; and One or more acquired data visualizations are displayed in the recommendation area.
121. The method of claim 120, wherein generating the one or more data visualizations further comprises: Based on determining that the canvas area includes a second scene having a second visualization card having a second data visualization: determining a second metric among the plurality of metrics corresponding to the second data visualization; determining whether the subset of metrics includes the second metric; as well as Based on determining that the metric subset includes the second metric, the priority of the second metric in the subset is reduced.
122. A computing device comprising: monitor; one or more processors; and A memory connected to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method described in any one of claims 107 to 121.
123. A non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a computing device, the one or more programs comprising instructions for performing the method of any one of claims 107 to 121.
124. A method for combining visualization cards in a time series metrics presentation, comprising: At a computing device having a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors: In the GUI it is displayed: A canvas area includes a first scene, wherein the first scene includes: a first visualization card having a first data visualization; and a second visualization card adjacent to the first visualization card, the second visualization card having a second data visualization; receiving user input specifying merging the first data visualization with the second data visualization; and In response to the user input and based on determining that (i) the first data visualization and the second data visualization share a common time period and (ii) there is a substantial overlap between a first range of values in a vertical axis of the first data visualization and a second range of values in a vertical axis of the second data visualization, the first data visualization and the second data visualization are merged into a single data visualization.
125. The method of claim 124, wherein: The first range of values has a first unit of measurement; and The second range of values has a second unit of measurement different from the first unit of measurement.
126. The method of claim 125, further comprising: A legend including the first measurement unit and the second measurement unit is displayed using the single data visualization.
127. The method of any one of claims 124 to 126, wherein the single data visualization comprises: a horizontal axis having said common time period; and A vertical axis has a value range common to the first value range and the second value range.
128. The method of any one of claims 124 to 127, further comprising: The single data visualization is displayed on the first visualization card.
129. The method of claim 128, wherein displaying the single data visualization on the first data visualization card comprises: The second visualization card is removed from the first scene.
130. The method of any one of claims 124 to 129, wherein the first visualization card is positioned to the left of the second visualization card in the first scene.
131. The method of any one of claims 124 to 130, wherein: Each of the first data visualization and the second data visualization is a line graph.
132. The method of claim 131 , wherein the single data visualization is a line graph consisting of two lines.
133. The method of any one of claims 124 to 132, further comprising: In response to the user input, and based on determining that (i) the first data visualization includes a first range of values in a vertical axis and (ii) the second data visualization includes a second range of values in the vertical axis that is substantially different than the first range of values: in response to a first user input selecting the vertical axis of the first data visualization, displaying, adjacent to the vertical axis of the first data visualization, a user-selectable interface element for transforming values in the vertical axis from absolute values to relative values; receiving a first user selection of the user-selectable interface element; responsive to the first user selection, transforming the first range of values to a relative scale relative to a first value appearing in the first data visualization; in response to a second user input selecting the vertical axis of the second data visualization, displaying the user-selectable interface element adjacent to the vertical axis of the second data visualization; receiving a second user selection of the user-selectable interface element; responsive to the second user selection, transforming the second range of values to a relative scale relative to first values appearing in the second data visualization; receiving a third user input specifying merging the first data visualization with the second data visualization; as well as Based on the third user input, the first data visualization and the second data visualization are merged into a single data visualization.
134. The method of any one of claims 124 to 133, further comprising: A recommendations area is displayed in the graphical user interface including one or more data visualizations, each of the one or more data visualizations corresponding to a respective metric of a data source, the respective metric having a respective time attribute.
135. A computing device comprising: monitor; one or more processors; and A memory connected to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for executing the method of any one of claims 124 to 134.
136. A non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a computing device, the one or more programs comprising instructions for performing the method of any one of claims 124 to 134. 137.A method for linking text and visualization in a time series metrics presentation, comprising: At a computing device having a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors: A canvas area including a first scene is displayed in a graphical user interface, wherein the first scene includes: a first visualization card having a first data visualization; and a first text card adjacent to the first visualization card; receiving, via the first text card, (i) text input from a user and (ii) a user selection of a first user interface element for linking the first text card to the first visualization card; Based on the receiving, determining whether the text input includes a first expression having a first time span that intersects a time domain of the first data visualization; and Based on determining that the text input includes the first expression, and in response to a first user interaction with a first area of the first text card including the first expression: A first portion of the first data visualization corresponding to the first time span is visually emphasized.
138. The method of claim 137, further comprising: Concurrently with visually emphasizing the first portion of the first data visualization, other portions of the first data visualization are visually de-emphasized.
139. The method of claim 137 or 138, wherein the first data visualization is a line graph.
140. The method of claim 139, wherein: Visually emphasizing the first portion of the first data visualization includes: A portion of the line graph corresponding to the first time span is displayed.
141. The method of any one of claims 137 to 140, wherein: The first scene includes a second visualization card having a second data visualization; and The method further comprises: receiving, via the first text card, a user selection of a second user interface element for linking the first text card to the second visualization card; determining that the first time span included in the first representation intersects a time domain of the second data visualization; receiving a second user interaction with the first area of the first text card; and In response to the second user interaction, simultaneously visually emphasizing (i) the first portion of the first data visualization and (ii) a second portion of the second data visualization, the first portion and the second portion corresponding to the first time span.
142. The method of claim 141, wherein the first text card is positioned between the first visualization card and the second visualization card.
143. The method of claim 141 or claim 142, wherein each of the first data visualization and the second data visualization is a line graph.
144. The method of any one of claims 137 to 143, wherein: The first scene includes a second visualization card having a second data visualization; and The text input includes a second expression different from the first expression, the second expression including a second time span; and The method further comprises: receiving, via the first text card, a user selection of a second user interface element for linking the first text card to the second visualization card; determining that the second representation intersects a time domain of the second data visualization; receiving a second user interaction with a second area of the first text card including the second expression; and In response to the second user interaction, simultaneously: (i) visually emphasizing a portion of the second data visualization corresponding to the second time span; and (ii) displaying the entirety of the first data visualization.
145. The method of claim 144, wherein the first text card is positioned between the first visualization card and the second visualization card.
146. The method of claim 144 or 145, wherein: The first text card includes a plurality of text input elements; and The text input is received from the user via the plurality of text input elements.
147. The method of claim 146, wherein: The plurality of text input elements include a first text input element and a second text input element; The first expression is located in the first text input element; and The second expression is located in the second text input element.
148. The method of any one of claims 137 to 147, further comprising: A recommendations area is displayed in the graphical user interface including one or more data visualizations, each of the one or more data visualizations corresponding to a respective metric of a data source, the respective metric having a respective time attribute.
149. A computing device comprising: monitor; one or more processors; and A memory connected to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for executing the method of any one of claims 137 to 148.
150. A non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a computing device, the one or more programs comprising instructions for performing the method of any one of claims 137 to 148. 151.A method for demonstrating time series metrics, comprising: At a computing device having a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors: In the GUI it is displayed: a canvas area including a first scene having a first visualization card; and a recommendation region including one or more data visualizations, each of the one or more data visualizations corresponding to a respective metric of the one or more metrics of the data source, the respective metric having a respective time attribute; receiving a user selection to add a first data visualization corresponding to a first metric of the one or more metrics to the first visualization card; as well as In response to the user selection, a display of the first visualization card is updated to include the first data visualization.
152. The method of claim 151 further comprising: Prior to displaying the one or more data visualizations, generating the one or more data visualizations includes: For each data visualization of the one or more data visualizations, a metric definition of the respective metric corresponding to the respective data visualization is obtained.
153. The method of claim 151 or 152, wherein the first data visualization is a line graph.
154. The method of any one of claims 151 to 153, further comprising: After updating the display of the first visualization card to include the first data visualization, receiving a user interaction with the first visualization card, the user interaction further specifying a split point on a timeline of the first data visualization; as well as In response to the user interaction, displaying one or more user-selectable interface elements for filtering the date-time range of the first data visualization, the one or more user-selectable interface elements comprising one or more of the following: a first user-selectable interface element that, when selected, retains the first data visualization for data points prior to the split point; a second user-selectable interface element that, when selected, retains the first data visualization for data points subsequent to the segmentation point; and A third user-selectable interface element that, when selected, (i) retains data points of the first data visualization before the split point on the first visualization card and (ii) displays data points of the first data visualization after the split point on a second visualization card adjacent to the first visualization card.
155. The method of claim 154, wherein: The first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value; and The method further comprises: In response to a user selection of the first user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from (i) the start date / time value to (ii) a date / time value corresponding to the split point; and The updated first data visualization is displayed on the first visualization card.
156. The method of claim 154 or 155, wherein: The first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value; and The method further comprises: In response to a user selection of the second user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from (i) the date / time value corresponding to the split point to (ii) the end date / time value; and The updated first data visualization is displayed on the first visualization card.
157. The method of any one of claims 154 to 156, wherein: The first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value; and The method further comprises: In response to a user selection of the third user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from (i) the start date / time value to a first date / time value corresponding to the split point; generating a second data visualization including a timeline having values spanning from (ii) the first date / time value to (ii) the end date / time value; and Simultaneously (i) displaying the updated first data visualization on the first visualization card and (ii) displaying the second data visualization on a second visualization card adjacent to the first visualization card.
158. The method of any one of claims 151 to 157, further comprising: After updating the display of the first visualization card to include the first data visualization, receiving a user interaction with the first data visualization on the first visualization card, the user interaction also specifying a date / time range on a timeline of the first data visualization; as well as In response to the user interaction, displaying a plurality of user-selectable interface elements for filtering a date-time range of the first data visualization, including: a first user-selectable interface element that, when selected, retains data points of the first data visualization within the date / time range specified via the user interaction; and A second user-selectable interface element that, when selected, retains data points of the first data visualization that are outside the date / time range specified via the user interaction.
159. The method of claim 158, wherein: the date / time range specified via the user interaction spans from a first date / time value to a second date / time value; as well as The method further comprises: In response to a user selection of the first user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from the first date / time value to a second date / time value; and The updated first data visualization is displayed on the first visualization card.
160. The method of claim 158 or 159, wherein: The first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value; as well as The date / time range spans from a first date / time value to a second date / time value; as well as The method further comprises: In response to a user selection of the second user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from the start date / time value to the first date / time value; generating a second data visualization including a timeline having values spanning from the second date / time value to the end date / time value; as well as Simultaneously (i) displaying the updated first data visualization on the first visualization card and (ii) displaying the second data visualization on a second visualization card adjacent to the first visualization card.
161. The method of any one of claims 151 to 160, further comprising: receiving a user interaction with a vertical axis of the first data visualization in the first visualization card; as well as In response to the user interaction, displaying a plurality of user-selectable interface elements including: a first user-selectable interface element that, when selected, switches back and forth between (i) a first vertical axis scale starting at zero and (ii) a second vertical axis scale starting at a minimum value; and A second user-selectable interface element that, when selected, switches back and forth between (i) a third vertical axis scale having absolute values and (ii) a fourth vertical axis scale having relative values indexed relative to a first value appearing in the first data visualization.
162. The method of any one of claims 151 to 161, further comprising: After updating the display of the first visualization card to include the first data visualization, receiving a user interaction with a timeline of the first data visualization on the first visualization card; as well as In response to the user interaction, displaying a plurality of user-selectable interface elements including: A first user-selectable interface element that, when selected, switches back and forth between (i) a first timeline scale having absolute date / time values and (ii) a second timeline scale having relative dates relative to a first date in the first data visualization.
163. The method of any one of claims 151 to 162, further comprising: After updating the display of the first visualization card to include the first data visualization, and based on determining that the first scene includes a second visualization card adjacent to the first visualization card, the second visualization card having a second data visualization: responsive to a user selection of the timeline of the second data visualization, displaying a user-selectable element; receiving a user selection of the user-selectable element; as well as In response to a user selection of the user-selectable element: generating an updated second data visualization having an updated timeline with data values matching the data values of the timeline of the first data visualization; and The updated second data visualization is displayed.
164. The method of any one of claims 151 to 163, further comprising: After updating the display of the first visualization card to include the first data visualization, and based on determining that the first scene includes a second visualization card adjacent to the first visualization card, the second visualization card having a second data visualization: responsive to a user selection of a vertical axis of the second data visualization, displaying a user-selectable element; receiving a user selection of the user-selectable element; as well as In response to a user selection of the user-selectable element: generating an updated second data visualization having an updated vertical axis having data values that match the data values of the vertical axis of the first data visualization; and The updated second data visualization is displayed.
165. A computing device comprising: monitor; one or more processors; and A memory connected to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for executing the method described in any one of claims 151 to 164.
166. A non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a computing device, the one or more programs comprising instructions for performing a method according to any one of claims 151 to 164. 167.A method for demonstrating time series measurement, comprising: At a computing device having a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors: In the GUI it is displayed: a canvas area including a first scene having a first visualization card; and a recommendation region including one or more data visualizations, each of the one or more data visualizations corresponding to a respective metric of the one or more metrics of the data source, the respective metric having a respective time attribute; receiving a user selection to add a first data visualization corresponding to a first metric of the one or more metrics to the first visualization card; as well as In response to the user selection, a display of the first visualization card is updated to include the first data visualization.
168. The method of claim 167, further comprising: Prior to displaying the one or more data visualizations, generating the one or more data visualizations includes: For each data visualization of the one or more data visualizations, a metric definition of the corresponding metric corresponding to the corresponding data visualization and / or data corresponding to the corresponding metric is obtained.
169. The method of claim 167 or 168, wherein the first data visualization is a line graph.
170. The method of any one of claims 167 to 169, wherein: The first scene includes a second visualization card adjacent to the first visualization card, the second visualization card having a second data visualization; and The method further comprises: receiving user input specifying merging the first data visualization with the second data visualization; and In response to the user input and based on determining that (i) the first data visualization and the second data visualization have a common time period and (ii) there is a substantial overlap between a first range of values in a vertical axis of the first data visualization and a second range of values in a vertical axis of the second data visualization, the first data visualization and the second data visualization are merged into a single data visualization.
171. The method of claim 170, wherein: The first range of values has a first unit of measurement; and The second range of values has a second unit of measurement different from the first unit of measurement.
172. The method of claim 171 further comprising: A legend including the first measurement unit and the second measurement unit is displayed using the single data visualization.
173. The method of any one of claims 170 to 172, wherein the single data visualization comprises: a horizontal axis having said common time period; and A vertical axis has a value range common to the first value range and the second value range.
174. The method of any one of claims 170 to 173, further comprising: The single data visualization is displayed on the first visualization card.
175. The method of claim 174, wherein displaying the single data visualization on the first visualization card comprises: The second visualization card is removed from the first scene.
176. The method of any one of claims 170 to 175, wherein: Each of the first data visualization and the second data visualization is a line graph; and The single data visualization is a line graph consisting of two lines.
177. The method of any one of claims 167 to 176, wherein: The first scene includes a second visualization card adjacent to the first visualization card, the second visualization card having a second data visualization; The first data visualization includes a first range of values in a vertical axis; as well as the second data visualization comprising a second range of values in the vertical axis that is substantially different than the first range of values; The method further comprises: in response to a first user input selecting the vertical axis of the first data visualization, displaying, adjacent to the vertical axis of the first data visualization, a user-selectable interface element for transforming values in the vertical axis from absolute values to relative values; receiving a first user selection of the user-selectable interface element; In response to the first user selection, transforming the first range of values to a relative scale relative to a first value in the first data visualization; in response to a second user input selecting the vertical axis of the second data visualization, displaying the user-selectable interface element adjacent to the vertical axis of the second data visualization; receiving a second user selection of the user-selectable interface element; responsive to the second user selection, transforming the second range of values to a relative scale relative to first values appearing in the second data visualization; receiving a third user input specifying merging the first data visualization with the second data visualization; and Based on the third user input, the first data visualization and the second data visualization are merged into a single data visualization.
178. The method of any one of claims 167 to 177, wherein: The first scene includes a first text card adjacent to the first visualization card; and The method further comprises: receiving, via the first text card, (i) text input from a user and (ii) a user selection of a first user interface element for linking the first text card to the first visualization card; Based on the receiving, determining whether the text input includes a first temporal expression that intersects a temporal domain of the first visualization card; and Based on determining that the text input includes a temporal expression that intersects a temporal domain of the first data visualization, and in response to a first user interaction with a first area of the first text card that includes the first temporal expression: A first portion of the first data visualization corresponding to a first time span indicated in the first time representation is visually emphasized.
179. The method of claim 178, further comprising: Concurrently with visually emphasizing the first portion of the first data visualization, other portions of the first data visualization are visually de-emphasized.
180. The method of claim 178 or 179, wherein: The first scene includes a second visualization card having a second data visualization; and The method further comprises: receiving, via the first text card, a user selection of a second user interface element for linking the first text card to the second visualization card; determining that the first time span included in the text input overlaps a time domain of the second data visualization; receiving a second user interaction with the first area of the first text card; and In response to the second user interaction, simultaneously visually emphasizing (i) the first portion of the first data visualization and (ii) a second portion of the second data visualization, the first portion and the second portion corresponding to the first time span indicated in the first time representation.
181. The method of claim 180, wherein the first text card is positioned between the first visualization card and the second visualization card.
182. The method of any one of claims 178 to 181, wherein: The first scene includes a second visualization card having a second data visualization; and The text input also includes a second time expression different from the first time expression, the second time expression corresponding to a second time span; as well as The method further comprises: receiving, via the first text card, a user selection of a second user interface element for linking the first text card to the second visualization card; determining that the second time span intersects a time domain of the second data visualization; receiving a second user interaction with a second area of the first text card including the second time expression; and In response to the second user interaction, simultaneously: (i) visually emphasizing a portion of the second data visualization corresponding to the second time span; and (ii) displaying the entirety of the first data visualization.
183. The method of claim 182, wherein the first text card is positioned between the first visualization card and the second visualization card.
184. The method of claim 178 or claim 183, wherein: The first text card includes a plurality of text input elements; and The text input is received from the user via the plurality of text input elements.
185. The method of claim 184, wherein: The plurality of text input elements include a first text input element and a second text input element; The first time expression is located in the first text input element; as well as A second time expression is located in the second text input element.
186. The method of any one of claims 167 to 185, further comprising: After updating the display of the first visualization card to include the first data visualization, receiving a user interaction with the first visualization card, the user interaction further specifying a split point on a timeline of the first data visualization; as well as In response to the user interaction, displaying a plurality of user-selectable interface elements for filtering the date-time range of the first data visualization, the plurality of user-selectable interface elements comprising two or more of the following: a first user-selectable interface element that, when selected, retains the first data visualization for data points prior to the split point; a second user-selectable interface element that, when selected, retains the first data visualization for data points subsequent to the segmentation point; and A third user-selectable interface element that, when selected, (i) retains data points of the first data visualization before the split point on the first visualization card and (ii) displays data points of the first data visualization after the split point on a second visualization card adjacent to the first visualization card.
187. The method of claim 186, wherein: The first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value; and The method further comprises: In response to a user selection of the first user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from (i) the start date / time value to (ii) a date / time value corresponding to the split point; and The updated first data visualization is displayed on the first visualization card.
188. The method of claim 186 or 187, wherein: The first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value; and The method further comprises: In response to a user selection of the second user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from (i) the date / time value corresponding to the split point to (ii) the end date / time value; and The updated first data visualization is displayed on the first visualization card.
189. The method of any one of claims 186 to 188, wherein: The first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value; and The method further comprises: In response to a user selection of the third user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from (i) the start date / time value to a first date / time value corresponding to the split point; generating a second data visualization including a timeline having values spanning from (ii) the first date / time value to (ii) the end date / time value; and Simultaneously (i) displaying the updated first data visualization on the first visualization card and (ii) displaying the second data visualization on a second visualization card adjacent to the first visualization card.
190. The method of any one of claims 167 to 189, further comprising: After updating the display of the first visualization card to include the first data visualization, receiving a user interaction with the first data visualization on the first visualization card, the user interaction also specifying a date / time range on a timeline of the first data visualization; as well as In response to the user interaction, displaying a plurality of user-selectable interface elements for filtering a date-time range of the first data visualization, including: a first user-selectable interface element that, when selected, retains data points of the first data visualization within the date / time range specified via the user interaction; and A second user-selectable interface element that, when selected, retains data points of the first data visualization that are outside the date / time range specified via the user interaction.
191. The method of claim 190, wherein: The date / time range spans from a first date / time value to a second date / time value; and The method further comprises: In response to a user selection of the first user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from the first date / time value to a second date / time value; and The updated first data visualization is displayed on the first visualization card.
192. The method of claim 190 or 191, wherein: The first data visualization includes a timeline having values spanning from a start date / time value to an end date / time value; as well as The date / time range spans from a first date / time value to a second date / time value; as well as The method further comprises: In response to a user selection of the second user-selectable interface element: generating an updated first data visualization including an updated timeline having values spanning from the start date / time value to the first date / time value; generating a second data visualization including a timeline having values spanning from the second date / time value to the end date / time value; as well as Simultaneously (i) displaying the updated first data visualization on the first visualization card and (ii) displaying the second data visualization on a second visualization card adjacent to the first visualization card.
193. The method of any one of claims 167 to 192, further comprising: receiving a user interaction with a vertical axis of the first data visualization in the first visualization card; as well as In response to the user interaction, displaying a plurality of user-selectable interface elements including: a first user-selectable interface element that, when selected, switches back and forth between (i) a first vertical axis scale starting at zero and (ii) a second vertical axis scale starting at a minimum value; and A first user-selectable interface element that, when selected, switches back and forth between (i) a third vertical axis scale having absolute values and (ii) a fourth vertical axis scale having relative values indexed relative to a first value appearing in the first data visualization.
194. The method of any one of claims 167 to 193, further comprising: receiving a user interaction with a timeline of the first data visualization in the first visualization card; as well as In response to the user selection, displaying a plurality of user-selectable interface elements including: A first user-selectable interface element that, when selected, switches back and forth between (i) a first timeline scale having absolute date / time values and (ii) a second timeline scale having relative dates relative to a first date in the first data visualization.
195. The method of any one of claims 167 to 194, further comprising: Based on determining that the first scene includes a second visualization card adjacent to the first visualization card, the second visualization card having a second data visualization; responsive to a user selection of the timeline of the second data visualization, displaying a user-selectable element; receiving a user selection of the user-selectable element; as well as In response to a user selection of the user-selectable element: generating an updated second data visualization having an updated timeline with data values matching the data values of the timeline of the first data visualization; and The updated second data visualization is displayed.
196. The method of any one of claims 167 to 195, further comprising: Based on determining that the first scene includes a second visualization card adjacent to the first visualization card, the second visualization card having a second data visualization; responsive to a user selection of a vertical axis of the second data visualization, displaying a user-selectable element; receiving a user selection of the user-selectable element; as well as In response to a user selection of the user-selectable element: generating an updated second data visualization having an updated vertical axis having data values that match the data values of the vertical axis of the first data visualization; and The updated second data visualization is displayed.
197. The method of any one of claims 167 to 196, further comprising: Prior to displaying the one or more data visualizations, and based on determining that the first scene is an initial scene to be added to the canvas area: identifying a plurality of metrics from the data source; for each metric of the plurality of metrics, calculating a respective parameter measuring a variability in a value of the respective metric; identifying the one or more metrics from the plurality of metrics based on the calculated parameters; For each of the one or more metrics, generating a corresponding data visualization; as well as The one or more data visualizations corresponding to the one or more metrics are displayed in the recommendation area.
198. The method of claim 197, wherein identifying the one or more metrics comprises: ranking the plurality of metrics based on the calculated parameter; as well as Based on the arrangement, the one or more metrics are identified.
199. The method of any one of claims 167 to 198, wherein identifying the one or more metrics comprises: It is determined that each of the one or more metrics has a coefficient of variation that exceeds a predetermined threshold.
200. The method of any one of claims 167 to 199, further comprising: Prior to displaying the one or more data visualizations, and based on determining that the canvas area includes a previous scene different than the first scene, the previous scene having a second visualization card including a second data visualization: identifying a plurality of metrics from the data source; determining a second metric among the plurality of metrics corresponding to the second data visualization; determining whether the one or more metrics include the second metric; as well as Based on determining that the one or more metrics include the second metric, the priority of the second metric in the one or more metrics is reduced.
201. The method of claim 200, wherein: The one or more data visualizations are displayed as a list in the recommendation area; and Lowering the priority of the second metric includes changing an order in which the second data visualizations are displayed in the list.
202. The method of claim 200 or 201, wherein lowering the priority of the second metric comprises: The second visualization is excluded from the displayed one or more data visualizations.
203. The method of any one of claims 167 to 202, wherein: The first data visualization includes data values spanning a first date / time range; as well as The method further comprises: After updating the display of the first visualization card to include the first data visualization, receiving user input to add a second visualization card in the first scene; In response to the user input, one or more visualization recommendations are generated for the second visualization card, the one or more visualization recommendations comprising one of the following: a first visualization recommendation that filters the values of the first metric to a subset of data values corresponding to a second date / time range that is narrower than the first date / time range; or A second visualization is recommended, which spans the entire time period of the data source.
204. The method of claim 203, wherein the subset of data values corresponds to a local maximum or a local minimum of the first data visualization.
205. The method of claim 203 or claim 204, further comprising: identifying the subset of data values using a moving average algorithm; generating a first line graph including the subset of data values; as well as The first line graph is displayed in the recommendation area.
206. The method of any one of claims 203 to 205, wherein the data source comprises a second metric having a categorical data field; as well as The method further comprises: generating a second data visualization having a plurality of lines, each of the lines corresponding to a different data value for the categorical data field; as well as The second data visualization is displayed in the recommendation area.
207. The method of any one of claims 203 to 206, wherein the one or more visualization recommendations include a third visualization recommendation corresponding to a second metric different from the first metric.
208. The method of any one of claims 167 to 207, wherein: The one or more data sources include a second metric having a categorical data field; as well as The method further comprises: generating a second data visualization having a plurality of lines, each of the lines corresponding to a different data value for the categorical data field; as well as The data visualization is displayed in the recommendation area.
209. The method of claim 208, wherein the first data visualization and the second data visualization are displayed simultaneously in the recommendation area.
210. The method of any one of claims 167 to 209, further comprising: A data schema and a filter panel including a plurality of metrics from one or more data sources are displayed in the graphical user interface.
211. The method according to claim 210, further comprising: receiving a user selection of a second metric from among the plurality of metrics in the data mode and filter panel; as well as In response to the user selection, a second data visualization corresponding to the second metric is displayed in the recommendation area.
212. The method of claim 210 or claim 211, further comprising: receiving a user selection of a second metric and a third metric from among the plurality of metrics in the data mode and filter panel; as well as In response to the user selecting: generating a second data visualization including two lines corresponding to the second metric and the third metric, respectively; and The second data visualization is displayed in the recommendation area.
213. A method according to any one of claims 167 to 212, wherein each of the one or more data visualizations displayed is a line graph that depicts changes in the value of the corresponding metric over a date / time range corresponding to the corresponding metric.
214. The method of any one of claims 167 to 213, further comprising: Displaying a scene overview in the graphical user interface, which includes, for each of the one or more scenes displayed in the canvas area: the corresponding counts of visualization cards corresponding to the described scenarios; a corresponding count of text cards corresponding to said scenario; and a corresponding count of unique metrics corresponding to the scenario; and The corresponding cumulative time span corresponding to the scenario.
215. A method according to claim 214, wherein the corresponding cumulative time span is displayed as a graphical element having a length proportional to the cumulative time span.
216. The method of any one of claims 167 to 215, wherein: The one or more data visualizations include a second data visualization having a first time granularity; The method further comprises: receiving a user specification of a second time granularity for the second data visualization, the second time granularity being different from the first time granularity; and Based on the user specification, data markers in the second data visualization are updated to include a subset of data markers corresponding to the second time granularity.
217. The method of claim 216, wherein the user specification comprises a user selection of a user interface element in a data mode and filter panel of the graphical user interface that corresponds to the second time granularity. 218.A method for demonstrating time series metrics, comprising: At a computing device having a display, one or more processors, and a memory storing one or more programs configured for execution by the one or more processors: In the GUI it is displayed: a canvas area including one or more scenes including a first scene having a first visualization card; a recommendation region comprising one or more data visualizations, each of the one or more data visualizations corresponding to a respective metric of a data source, the respective metric having a respective time attribute; and A scenario overview, which includes, for each of the one or more scenarios: the corresponding counts of visualization cards corresponding to the described scenarios; a corresponding count of text cards corresponding to said scenario; and a corresponding count of unique metrics corresponding to the scenario; and The corresponding cumulative time span corresponding to the scenario.
219. A method according to claim 218, wherein the corresponding cumulative time span is displayed as a graphical element having a length proportional to the cumulative time span.
220. The method of claim 218 or 219, wherein: The one or more data visualizations include a second data visualization having a first time granularity; The method further comprises: receiving a user specification of a second time granularity for the second data visualization, the second time granularity being different from the first time granularity; and Based on the user specification, data markers in the second data visualization are updated to include a subset of data markers corresponding to the second time granularity.
221. The method of claim 220, wherein the user specification comprises a user selection of a user interface element in a data mode and filter panel of the graphical user interface that corresponds to the second time granularity.
222. The method according to any one of claims 218 to 221, further comprising: A plurality of metrics are displayed in a data mode and filter panel of the graphical user interface.
223. The method of claim 222, wherein: The plurality of metrics correspond to one or more data sources; as well as The method further comprises: determining, from the one or more data sources, a start date and an end date corresponding to the plurality of metrics; as well as The start date and the end date are displayed in the data model and filter panel.
224. The method of claim 223, wherein: The one or more data visualizations include a second data visualization having a timeline field, the timeline field including the start date and the end date; and The method further comprises: receiving user input that modifies at least one of: the start date or the end date; and Based on the user input: modifying the timeline domain of the second data visualization according to at least one of the start date or the end date that has been modified; and An updated second data visualization having a modified timeline domain is displayed in the recommendation area.
225. The method of claim 224, wherein: The second data visualization includes a plurality of data markers, the plurality of data markers including data markers corresponding to the start date and the end date; and The updated second data visualization includes a subset of the plurality of data markers filtered according to the modified timeline domain.
226. A computing device comprising: monitor; one or more processors; and A memory connected to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for executing the method described in any one of claims 167 to 225.
227. A non-transitory computer-readable medium storing one or more programs configured for execution by one or more processors of a computing device, the one or more programs comprising instructions for performing the method of any one of claims 167 to 225.