There is a tremendous need to make complex data sets visual and actionable to human viewers. In complex systems that require people to collaborate, communicating complex data sets can be challenging. This challenge increases as the complexity of the data sets and activities associated with them grows. Although communication tools such as e-mail, spreadsheets and electronic presentation systems are available, existing systems are not sufficient to adequately visualize complex systems. For example, Microsoft Office offers the ability to visualize data in a “sunburst chart” in which each level of a hierarchical data set is represented by a ring or circle, with the innermost ring representing the top of the hierarchy. A sunburst chart shows how the data in the outer rings is related to that of the inner rings. An example is shown in
This document describes a system and method for addressing at least some of the problems described above.
In various embodiments, a system displays hierarchical data via a graphical user interface. The system includes a data set of hierarchical data elements. Each of the data elements is associated with a parent category and/or one or more child categories, as well as with metadata stored in the data set. The system includes programming instructions that are configured to generate and cause the display device to dynamically display a visual representation of the data set in a concentric ring structure. The system will configure the ring structure by selecting a first data element from the data set. The first data element will be associated with a parent category. The system will display the first data element in a cell of a central ring of the concentric ring structure. The system will extract, from the data set, each additional data element that is associated with a category that is a child category of the parent category of the first informational element. The system will then display the extracted additional data elements in cells of a first outer ring that is outside of and adjacent to the central ring in the concentric ring structure. The system will identify a filter to be applied to the visual representation. The filter will include one or more parameters that, if satisfied by information displayed in any cell of the ring structure, will cause that cell to exhibit an altered appearance rather than a default appearance. The system will analyze the first data element and some or all of the additional data elements to identify each data element having associated metadata that satisfies the parameter(s). The system will then output, via the display device, the concentric ring structure populated with the first data element and each additional data element in a visual representation in which: (a) each cell that displays a data element having associated metadata that satisfies the one or more parameters is displayed with an altered appearance; and (b) each cell that displays a data element having associated metadata that does not satisfy the one or more parameters is displayed with the default appearance. The system may be integrated into a multi-function printing device, or into any other system that includes a processor and display device.
In various embodiments, the altered appearance may include any or all of the following: (1) a background color that differs from a background color of the default appearance; (2) a font color that differs from a font color of the default appearance; or (3) a font appearance that differs from a font appearance of the default appearance.
Optionally, the concentric ring structure may include multiple rings. For example, the system may identify and extract, from the data set, any child data element that is associated with a child category of the category of the additional informational element. The system may then display each child data element in a cell of a second outer ring of the concentric ring structure. Each cell in the second outer ring will display a child data element that is adjacent to and outside of the cell of the first outer ring that displays the additional data element from which it is a child. The system will analyze each child data element to identify whether it has associated metadata that satisfies the one or more parameters of the filter, and it will cause the display device to present the second outer ring in a visual format in which: (a) each cell that displays a child data element having associated metadata that satisfies the one or more parameters is displayed with an altered appearance; and (b) each cell that displays a child data element having associated metadata that does not satisfy the one or more parameters is displayed with the default appearance.
After the system has populated and displayed a ring structure, it may receive a user selection of a new filter. If so, it may cause the display device to present each cell in a visual format in which: (a) each cell that displays a data element having associated metadata that satisfies the new filter exhibits an newly altered appearance; and (b) each cell that displays a data element having associated metadata that does not satisfy the new filter exhibits an unchanged appearance.
In some embodiments, the system may offer the option of displaying multiple panes at once. For example, the system may display a comparison view by identifying an additional data set and causing the display device to also display the additional data set in a second concentric ring structure. If the view is a progression view, the second data set may be an earlier or later version of the data set that is used for the first ring structure. In either option, upon detection of a user selection of one of the displayed data elements in either of the concentric ring structures the system may synchronize the two displayed charts by: (1) causing the display device to move the displayed data element to the central ring of each of the concentric ring structures; (2) identifying and extracting, from the data set, any child data element that is a child of the selected informational element; and (3) causing the display device to display each child data element in a corresponding cell of the first outer ring of each concentric ring structure.
In some embodiments, upon detection of a user selection of one of the displayed data elements, the system may retrieve and display (in a content field) content that is associated with the selected data element. The system may retrieve the content that is associated with the data element of the selected cell by: (a) extracting, from the data set, content that is associated with the data element of the selected cell; or (b) identifying a content source from metadata of the data element of the selected cell, and accessing the content source to retrieve the content from the content source.
In some embodiments, a system for presenting hierarchical data via a graphical user interface includes a display device, a processor, and programming instructions that are configured to generate and cause the display device to dynamically display hierarchical data in two or more concentric ring structures by accessing a first data set of hierarchical data elements and causing the display device to present the first data set in a first concentric ring structure. The first concentric ring structure includes two or more rings, each ring comprises a plurality of cells, and each cell displays one of the data elements of the first set. The system also will access a second data set of hierarchical data elements, and it will cause the display device to present the second data set in a second concentric ring structure along with the first concentric ring structure. Optionally, the second data set may be an earlier version or a later version of the first data set. The second concentric ring structure also includes two or more rings, each ring comprises a plurality of cells, and each cell displays one of the data elements of the second set. When the system receives a user's selection of a cell in either of the concentric ring structures, then the system will synchronize navigation by, for both the first and second concentric ring structures, causing the display device to move the data element of the selected cell to a central ring of that concentric ring structure. The system will then identify and extract, from the first data set and the second data set, any child data element that is a child of the data element of the selected cell. It will display each child data element extracted from the first data set in a corresponding cell of the first concentric ring structure, and it will display each child data element extracted from the second data set in a corresponding cell of the second concentric ring structure.
Optionally, when presenting the first data set in the first concentric ring structure, the system may identify, as a first central data element, a data element in the central ring of the first concentric ring structure. The first data element will associated with a category. The system will extract, from the first data set, each first additional data element that is associated with a category that is a child category of the category of the first central data element. The system will identify a first filter that includes one or more parameters. For the first central data element and each of the first additional data elements, the system will analyze metadata for that data element and apply the parameters to that data element's metadata to determine an appearance for the cell in which the data element will appear. The system will then cause the display device to display the extracted first additional data elements in cells of a ring that is outside of and adjacent to the central ring in the first concentric ring structure, and when doing so the system will present each cell according to its determined appearance.
When presenting the second data set in the second concentric ring structure, the system may similarly identify, as a second central data element, a data element in the central ring of the second concentric ring structure. The second central data element also may be associated with a category. The system will extract, from the data set, each additional data element that is associated with a category that is a child category of the category of the second central data element. The system will identify a second filter that includes one or more second parameters. For the second central data element and each of the second additional data elements, the system will analyze metadata for that data element and apply the second parameters to that data element's metadata to determine an appearance for the cell in which the data element will appear. The system will then cause the display device to display the extracted second additional data elements in cells of a ring that is outside of and adjacent to the central ring in the second concentric ring structure, and when doing so the system will present each cell according to its determined appearance.
Optionally, when determining the appearance for the cell in which a data element will appear, the system may: (a) if the metadata for the data element satisfies the one or more parameters, display the data element with an altered appearance; and (b) if the metadata for the first data element does not satisfy the one or more parameters, display the data element with the default appearance.
Optionally, upon detecting a user selection of the central ring of either of the concentric ring structures, then for each of the first and second concentric ring structures the system may move the data element that was in the central ring to a cell that is within an outer ring that is adjacent to the central ring of that concentric ring structure, and it may populate the central ring with a parent of the data element that was in the central ring. Alternatively or in addition, upon detecting a user selection of the central ring of either of the concentric ring structures, the system may revise each of the first and second concentric ring structures to present an immediately prior view for the user who made the user selection.
Optionally, in some embodiments, upon detecting a user selection of a selected cell the system may retrieve content that is associated with the data element of the selected cell by: (a) extracting, from the data set for that data element, content that is associated with the data element of the selected cell; or (b) identifying a content source from metadata of the data element of the selected cell, and accessing the content source to retrieve the content from the content source. The system may then cause the display device to display the retrieved content in a content field.
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
Terminology that is relevant to this disclosure will be presented at the end of this section.
The system described in this document solves technical problems that exist with prior data visualization systems. A typical sunburst chart of the prior art cannot fully present relationships between hierarchical data elements in multiple, higher-level dimensions. Instead, the point-and-click method of navigating through existing sunburst charts only allows visualization of data in two dimensions as shown in
The system described below provides unique multi-level segmented charts, novel navigation techniques, metadata driven overlays that provide contextual information at the point of need), and unique starting positions (i.e., unique custom entry points for groups) and/or comparisons (i.e., the ability to show multiple “pane views” of hierarchical data), as well as the ability to keep two or more displayed charts in sync while a user navigates through one of the displayed charts.
The data of each ring is presented in one or more cells. Data elements that are a child of the data element of any particular cell will be presented in the adjacent cells located on the next outer ring. An example of this is shown in
In addition to being associated with parent and/or child data elements, each data element may be associated with metadata in the data set. The metadata may be stored in the data set (e.g., in the memory of the computing device 201 and/or external data store 204) with the data element. The system may extract the metadata from the data set and the metadata to map the data element to an appearance parameter for any cell that presents the data, thus providing an additional dimension of data visualization. (Mapping of metadata values also may be stored in memory, as a rule set, table, or by another suitable data structure.) The system also may use the metadata to identify and secure additional content that will be displayed in fields along with the concentric ring structure.
As noted above, the system may define an appearance parameter of any cell based on metadata that is associated with the content of the cell. An appearance parameter is a parameter that the system may use to determine a visual characteristic for the cell, where the visual characteristic provides in a format that is altered with respect to a default format, such as in a particular color or background pattern. For example,
Another example of an appearance parameter that the system may use to determine a visual characteristic for the cell is font type. Font type may refer to style of the font (such as bold, italic, size, etc.) and/or the typeface of font (such as Arial, Calibri, Courier, Times, etc.). The GUI 300 of
Further, the metadata for any data element may include, or serve as a pointer to, content that provides additional information about the data element. The GUI 300 may include a content field 309 that displays the content that is associated with a data element when the system receives a user selection of a data element (such as by touching, mouse-clicking, or hovering over the data element's cell). In the example shown in
The hierarchical data stored in the data set (such as in data store 204 of
When a user selects one of the data elements of the GUI (such as by using an input device to highlight it, click on it, hover over it, speak the data element's text via audio input or otherwise), that data element may move to the central ring and become the ultimate parent that is displayed at the time, with one or more subcategories, displayed on outer rings as described above. If the user selects a data element in the first outer ring (i.e., the ring closest to the central ring), the system may display one level down in the data set. If the user selects a data element in the second outer ring, the system may display two levels down in the data set. This hierarchy continues based on the number of ring displayed. When a user selects a central ring, the system will move one level up in the data set.
By way of example, refer to
Each data element may be associated with one or more tags, i.e., metadata that reflects one or more parameters. In some embodiments, the tags can be used to determine an altered appearance (i.e., an appearance is different than a default appearance, or an appearance that is unique to a particular data grouping), such as a specific background color, text color, background pattern, font size, font type, font color, or other specified appearance attribute for the data cell when presented in the GUI. Each tag is associated with another attribute of the data element that can be represented in the chart. An example of this is shown in the GUI of
In some embodiments, the system can use metadata to filter the data elements and determine the data elements that will be displayed, thus affecting the structure of the GUI's concentric rings. For example, referring to
Optionally the system may include a “save view” function, in which one or more views that are displayed are saved into an appropriate location, such as the user's profile. This may be done automatically, such as the user's most recently active view, so that the system may return to that view the next time that the user accesses the system. In addition or alternatively, this may be done by user actuation, in which the user can choose to save a view to memory, and the system may provide the user with a menu of saved (or “favorite”) views that the user can retrieve at a later time.
The comparison of two platforms shown in
When in the comparison view of
The system may receive a user credential that authorizes the user to access the hierarchical data and assign the user to a role (step 1002). The role may be user-specific, and the system may then create and/or access a user profile for the user. Some or all features of the role may be categorical, such as administrator or supervisor (which would have access to relatively more data elements) or guest (which would have access to relatively fewer data elements). The role is a set of rules or data that identifies the data elements that the user is permitted access, as well as views (i.e., assigned or user-selected combinations of filters and/or overlays) that are pre-defined for the user.
The system will select a pane to view (step 1003). A pane will be associated with a data set of data, such as data representing features of a product, a product version and/or other data. The data set may be a default data set, a user-selected data set, or an initial data set associated with the user in the user's profile. The system may select the pane as that which a user has selected via a user input element, such as by receiving a selection from a menu, drop-down field, free-form text or audio input. Alternatively, the system may select the pane automatically, such as by selecting a default pane, the last pane that the user viewed, the pane for which data was most recently updated or any other suitable automatic selection criteria. Optionally, the system may receive (or select a default) parameter that is a filter to keep certain data elements out of the pane's rings, thus affecting the structure of the pane and its rings (step 1004) as discussed above in the context of
The system will then display the pane as data elements in concentric rings as discussed in various figures above (step 1005). If the user has selected (or if an automatically system-selected view is) a comparison or progression view (step 1006), the system will simultaneously display multiple panes (step 1007) as discussed above in the context of
Before, when, or after displaying the pane(s), the system may receive a selection of one or more filters and/or identify one or more default filters, and it may apply the filter(s) (step 1008) to alter the appearance of one or more cells in each displayed pane. as discussed above in the context of
When the system receives a selection of a data element in one of the displayed panes (step 1009), it will move that data element to the central ring of each displayed pane (step 1010) and present the child (and optionally grandchild, great-grandchild, etc.) data elements for the selected data element in outer ring(s) around the central ring (step 1011).
In addition, when the system receives a selection of one or more new filter(s) (step 1012), it may apply the new filter(s) to dynamically alter the appearance of one or more cells of the displayed pane(s) to reflect the parameters of the new filter(s) (step 1013). Cells whose data elements satisfy a new filter may be changed to reflect an altered appearance for the new filter, while cells whose data elements do not satisfy the new filter may remain unchanged.
A display interface 630 may permit information from the bus 600 to be displayed on a display device 635 in visual, graphic or alphanumeric format. An audio interface and audio output (such as a speaker) also may be provided. Communication with external devices may occur using various communication devices 640 such as a wireless antenna, an RFID tag and/or short-range or near-field communication transceiver, each of which may optionally communicatively connect with other components of the device via one or more communication system. The communication device 640 may be configured to be communicatively connected to a communications network, such as the Internet, a local area network or a cellular telephone data network.
The hardware may also include a user interface sensor 645 that allows for receipt of data from input devices 650 such as a keyboard, a mouse, a joystick, a touchscreen, a touch pad, a remote control, a pointing device and/or microphone. Input such as digital image frames also may be received from a camera 620 that can capture video and/or still images.
As used in this document, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise. Unless defined otherwise, all technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art. As used in this document, the term “comprising” (or “comprises”) means “including (or includes), but not limited to.” When used in this document, the term “exemplary” is intended to mean “by way of example” and is not intended to indicate that a particular exemplary item is preferred or required.
In this document, when terms such “first” and “second” are used to modify a noun, such use is simply intended to distinguish one item from another, and is not intended to require a sequential order unless specifically stated. The term “approximately,” when used in connection with a numeric value, is intended to include values that are close to, but not exactly, the number. For example, in some embodiments, the term “approximately” may include values that are within +/−10 percent of the value.
When used in this document, terms such as “top” and “bottom,” “upper” and “lower”, or “front” and “rear,” are not intended to have absolute orientations but are instead intended to describe relative positions of various components with respect to each other. For example, a first component may be an “upper” component and a second component may be a “lower” component when a device of which the components are a part is oriented in a first direction. The relative orientations of the components may be reversed, or the components may be on the same plane, if the orientation of the structure that contains the components is changed. The claims are intended to include all orientations of a device containing such components.
An “electronic device” or a “computing device” refers to a device or system that includes a processor and memory. Each device may have its own processor and/or memory, or the processor and/or memory may be shared with other devices as in a virtual machine or container arrangement. The memory will contain or receive programming instructions that, when executed by the processor, cause the electronic device to perform one or more operations according to the programming instructions. Examples of electronic devices include personal computers, servers, mainframes, virtual machines, containers, gaming systems, televisions, digital home assistants and mobile electronic devices such as smartphones, fitness tracking devices, wearable virtual reality devices, Internet-connected wearables such as smart watches and smart eyewear, personal digital assistants, cameras, tablet computers, laptop computers, media players and the like. Electronic devices also may include appliances and other devices that can communicate in an Internet-of-things arrangement, such as smart thermostats, refrigerators, connected light bulbs and other devices. Electronic devices also may include components of vehicles such as dashboard entertainment and navigation systems, as well as on-board vehicle diagnostic and operation systems. In a client-server arrangement, the client device and the server are electronic devices, in which the server contains instructions and/or data that the client device accesses via one or more communications links in one or more communications networks. In a virtual machine arrangement, a server may be an electronic device, and each virtual machine or container also may be considered an electronic device. In the discussion below, a client device, server device, virtual machine or container may be referred to simply as a “device” for brevity. Additional elements that may be included in electronic devices were discussed above in the context of
The terms “processor” and “processing device” refer to a hardware component of an electronic device that is configured to execute programming instructions. Except where specifically stated otherwise, the singular terms “processor” and “processing device” are intended to include both single-processing device embodiments and embodiments in which multiple processing devices together or collectively perform a process.
The terms “memory,” “memory device,” “data store,” “data storage facility” and the like each refer to a non-transitory device on which computer-readable data, programming instructions or both are stored. Except where specifically stated otherwise, the terms “memory,” “memory device,” “data store,” “data storage facility” and the like are intended to include single device embodiments, embodiments in which multiple memory devices together or collectively store a set of data or instructions, as well as individual sectors within such devices.
In this document, the terms “communication link” and “communication path” mean a wired or wireless path via which a first device sends communication signals to and/or receives communication signals from one or more other devices. Devices are “communicatively connected” if the devices are able to send and/or receive data via a communication link. “Electronic communication” refers to the transmission of data via one or more signals between two or more electronic devices, whether through a wired or wireless network, and whether directly or indirectly via one or more intermediary devices.
The features and functions described above, as well as alternatives, may be combined into many other different systems or applications. Various alternatives, modifications, variations or improvements may be made by those skilled in the art, each of which is also intended to be encompassed by the disclosed embodiments.