This invention relates generally to data visualizations. More particularly, this invention relates to morphing techniques for maintaining focus on selected regions when transitioning between two data visualizations.
Business Intelligence generally refers to a category of software systems and applications used to improve business enterprise decision-making and governance. These software tools provide techniques for analyzing and leveraging enterprise applications and data. They are commonly applied to financial, human resource, marketing, sales, service provision, customer, and supplier analyses. More specifically, Business Intelligence tools can include reporting and analysis tools to analyze, forecast and present information, content delivery infrastructure systems to deliver, store and manage reports and analytics, data warehousing systems to cleanse and consolidate information from disparate sources, integration tools to analyze and generate workflows based on enterprise systems, database management systems to organize, store, retrieve and manage data in databases, and performance management applications to provide business metrics, dashboards, and scorecards, as well as best-practice analysis techniques for gaining business insights.
In many organizations establishing business strategies is an increasingly complex exercise. There are ongoing efforts to supply quantitative tools to enhance business strategy decision making. In particular, there is an increasing focus on applications and tools that provide a quantitative framework for analyzing various measures. A measure is a quantity as ascertained by comparison with a standard, usually denoted in units such as units sold, dollars, and so on. Measures are typically used to evaluate a quantifiable component of an organization's performance. For example, measures may include return on investment, revenues, sales volume, unit sales, store sales, inventory levels, cycle times, supply chain costs, number of customers, and so on.
Measures may be associated with dimensions, which are a type of data model object that represent a side of a multidimensional cube, a category, a column or a set of data items within a data source. Each dimension represents a different category. Dimension definitions support the specification of hierarchies to form a Hierarchical Dimension. Members of a dimension may be defined through a filter or transform. Examples of dimensions include region, store, year, customer, employee, and product line, among others.
Measures are often analyzed as part of visualizations, which are graphic displays of quantitative information. Types of visualizations include charts, tables, and maps. These visualizations can be included in a report document and reveal insights into the relationships between data. In tables, where data is displayed in columns and rows, such insights can be inefficient, difficult, or even impossible, to obtain. While tables are limited in variety there are many types of charts and maps, such as line charts, bar charts, pie charts, and geographical maps, among others.
For example, consider a retail organization trying to optimize its performance. A store manager may be interested in increasing its profits for the current quarter. To perform a detailed assessment, the store manager may have to analyze a large amount of data, such as, for example, “store costs” and “revenue” measures during the previous quarters. The store manager may also have to compare the “revenue” measure for a given store with the “revenue” measure of other comparable stores in the retail organization.
Visualizations of the measures may be performed to facilitate the store manager's analysis. For example, the average “store costs” measure may be plotted in a line chart to understand how the costs have been changing over the previous years, the average “revenue” measure for all stores may be plotted in a pie chart to evaluate which stores are outperforming the others, and a geographical map may be used to analyze the “revenue” measure for each geographical region. These are just some of the sample visualizations that the manager may use to better navigate the data to be analyzed. Other visualizations may be performed, with data originating from one or multiple datasets.
There are a number of commercially available tools for visualizing data. For example, Business Objects Americas of San Jose, Calif., sells a number of widely used Business Intelligence and performance management tools that provide data visualizations, including Crystal Xcelsius™, BusinessObjects Performance Manager™, BusinessObjects Enterpise™, BusinessObjects XI™, and BusinessObjects Dashboard Builder™, to name a few. These tools include various frameworks for visualizing data, such as performance dashboards and scorecards.
These and other BI tools that provide data visualizations allow users to see their data in multiple forms, such as line charts, tables, bar charts, geographical maps, etc., sometimes simultaneously in a single display screen. Because the visualizations are tied to the data set they represent, as soon as the data set changes the visualization changes. Changes in a data set may cause minor changes to the visualization, e.g., with the addition or removal of data, or result in a completely different visualization with potentially completely different data. For example, a bar chart may be displaying product sales for a given region over a given time period. Adding a country to the region displayed or displaying data for another region will change the display of the bar chart.
The currently-available BI tools are limited with regards to the data visualization capabilities they offer. In particular, these tools do not allow users to visualize transformations for a given data set. Any time a data set selection changes to produce a different visualization or any time a user desires to visualize a different data set, the user is not able to follow the trajectory of a given portion of the data from one visualization to the next. Doing so often requires that the user search the new visualization to find the desired data. That is, the user is not able to focus on a selected portion of the data to seamlessly understand how the data is transformed between visualizations.
Accordingly, it would be desirable to provide techniques to address the shortcomings of existing visualizations provided by BI tools. In particular, it would be desirable to provide techniques to enable users to focus on selected portions of a data set to seamlessly understand how the selected data is transformed between visualizations.
The invention includes a computer readable medium with executable instructions to display a first visualization associated with a first set of data. A display transformation from the first visualization into a second visualization is animated by morphing selected polygons in the first visualization into corresponding polygons in the second visualization while fading the first visualization into the second visualization.
The invention also includes a computer readable medium with executable instructions to retrieve a first set of data associated with a first visualization and a second set of data associated with a second visualization, the first visualization displayed on a display screen and the second visualization selected for display by a user on the display screen after the first visualization. A first set of polygons representing the first set of data is identified. A second set of polygons representing the second set of data is matched with the first set of polygons representing the first set of data. The first visualization is faded out of the display screen. The first set of polygons is morphed into the second set of polygons. The second visualization is faded into the display screen.
The invention further includes a method for morphing a first visualization into a second visualization. A first set of polygons representing a first set of data corresponding to the first visualization is identified. A second set of polygons representing a second set of data corresponding to the second visualization is also identified. Points in the first set of polygons are matched with points in the second set of polygons. The first visualization is faded out. A set of intermediate polygons is displayed while morphing the points in the first set of polygons into matching points in the second set of polygons. The second visualization is then faded in.
The invention is more fully appreciated in connection with the following detailed description taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:
a)-(e) illustrate a series of visualizations showing an exemplary region of a data set being morphed from one visualization to the next in accordance with an embodiment of the invention;
The present invention provides a system, method, software arrangement, and computer readable storage medium for morphing data visualizations. As generally used herein, morphing refers to a transition state from one visualization to another. A visualization, as generally used herein, is a graphic display of quantitative information. Types of visualizations include charts, tables, and maps.
A chart includes a collection of visual elements used to convey information. Data is converted to a pictorial representation such as a line, representative area, color, and the like. Often a chart is of a well known chart type that makes comparison between charts easier. Charts can be grouped into families. Families of charts include, but are not limited to: status charts (e.g., gauges, barometers/thermometers, LEDs); variation charts (e.g., radar, polar, heat maps); contribution comparison charts (e.g., pie, stacked 100%, pie series); rank compare charts (e.g., horizontal, grouped bar, deviation/zero axis bar, floating, stacked/subdivided); time series charts (e.g., line graph, column, waterfall/floating, deviated/zero axis, stacked/subdivided bar, stock/open-high-low-close, times series line, times series surface); frequency distribution charts (e.g., histogram, histograph); correlation charts (e.g., scatter plot, bubble plot, paired bar chart, paired/multiple scatter plot, bubble chart); combination charts (e.g., bar chart with line, pie slice with stacked bar, pie in time series, table); and other charts (e.g., graphical lists, spie chart, chart, log plot, semi-log plot, stereogram, contour plot, hanging rootogram, box plot, bag plot, mesh plot, contour plot, graph, network, and tree).
A table displays a set of data in a series of columns or rows. The table can have row and column headings, where each cell in a table can show the value associated with the specific combination of row and column headings. Some tables can hold charts or maps in their cells; this is a spatially economic way to display many charts with common axes. To facilitate representation in two dimensions, higher-dimensional tables of data are often represented using a plurality of two-dimensional tables.
A map is a simplified depiction of a space that highlights relations between elements in the space. Typically, a map is a two-dimensional, geometrically accurate representation of a space. A map is not limited to a two-dimensional cartographic map. A map can be augmented to include extra information presented in the form of an added dimension, e.g., height, color, density. A map can include other visualizations in regions of the map, e.g., a map with pie charts in each region.
According to an embodiment of the invention, a user may select a region in a first visualization for morphing into a region in a second visualization. The region may be, for example, a country or other geographical region in a geographical map, one or more bars in a bar chart, one or more slices in a pie chart, or one or more regions in a line chart, among others. The morphing occurs by first highlighting or drawing attention to the region in the first visualization. The first visualization is then faded out from the display screen to give way for the second visualization to be displayed. Before the second visualization is displayed, the highlighted region in the first visualization is morphed until it reaches its corresponding shape in the second visualization. Once morphing is completed, the second visualization is faded into the display screen.
According to an embodiment of the invention, a region in a first visualization may be represented by one or more polygons, which are geometric shapes bounded by a closed path. Intermediate polygons are created and displayed in the display screen during morphing, with each consecutive set of polygons forming a shape closer to the shape of the region in the second visualization. For example, to morph a bar in a bar chart into a pie slice in a pie chart, a rectangle representing the bar (with its size, position, and color) is morphed into a pie slice (with its size, position, and potentially a new color).
Network Interface Circuit (“NIC”) 120 may also be connected to the bus 115. NIC 120 provides connectivity to a network (not shown), thereby allowing computer 100 to operate in a networked environment. For example, networked data sources 125 are connected to computer 100 through NIC 120. In accordance with the present invention, networked data sources 125 may include any number and type of data sources.
It is appreciated that a data source is an information resource. Data sources such as networked data sources 125 include sources of data that enable data storage and retrieval. Networked data sources 125 may include databases, such as, relational, transactional, hierarchical, multidimensional (e.g., Online Analytical Processing (“OLAP”)), object oriented databases, and the like. Further networked data sources 125 may include tabular data (e.g., spreadsheets, delimited text files), data tagged with a markup language (e.g., Extensible Markup Language (“XML”) data), transactional data, unstructured data (e.g., text files, screen scrapings), hierarchical data (e.g., data in a file system, XML data), files, a plurality of reports, and any other data source accessible through an established protocol, such as, Open DataBase Connectivity (“ODBC”) and the like. Networked data sources 125 may also include a data source where the data is not stored like data streams, broadcast data, and the like.
Memory 130 is also connected to the bus 115. In one exemplary embodiment, memory 130 stores one or more of the following modules: an operating system module 135, a Graphical User Interface (“GUI”) module 140, a Business Intelligence (“BI”) module 145, and a Visualization module 150.
Operating system module 135 may include instructions for handling various system services, such as file services or for performing hardware dependant tasks. The GUI module 140 may rely upon standard techniques to produce graphical components of a user interface, e.g., windows, icons, buttons, menu and the like, for accessing and managing data in networked data sources 125.
BI module 145 includes executable instructions to perform BI-related functions, such as, performing abstract queries and analyses, producing reports, accessing data sources such as relational and/or multidimensional databases, accessing document storage repositories, and the like.
In accordance with the present invention, Visualization module 150 includes executable instructions for creating data visualizations in a display screen and morphing from one visualization to another. With Visualization module 150, users may visualize a data set with multiple visualization types, e.g., charts, tables, and maps, select a region in a visualization to be monitored, and animate a display transformation from one visualization to the next. The selected region is morphed from the one visualization to the next by showing the intermediate changes in the region's shape until it reaches its final shape. The first visualization is faded out of the display screen while morphing is taking place and the second visualization is faded into the display screen when morphing is completed.
Visualization module 150 may also work in conjunction with GUI module 140 to display a GUI to users for creating and displaying visualizations in a display screen. For example, Visualization module 150 may display drop-down menus, textboxes, window widgets, pop-up windows, and other GUI components to enable users to select from different visualization types, highlight or draw attention to regions in a visualization, view information associated with a given visualization, and so on.
It should be appreciated that the executable modules stored in memory 130 are exemplary. It should also be appreciated that the functions of the modules may be combined. For example, GUI module 140 and Visualization module 150 may be integrated into a single module without deviating from the scope and principles of the invention. In addition, the functions of the modules need not be performed on a single machine. Instead, the functions may be distributed across a network, if desired. Indeed, the invention may be commonly implemented in a client-server environment with various components being implemented at the client-side and/or the server-side. As understood by those of ordinary skill in the art, it is the functions of the invention that are significant, not where they are performed or the specific manner in which they are performed.
Referring now to
In accordance with an embodiment of the invention, the user may also select a second visualization to be displayed after the first visualization on the display screen. Visualization module 150 then retrieves a second data set associated with the second visualization (205). The second and first data sets may originate from a single common data set or may be different data sets.
For example, the first visualization may be a bar chart of a data set. The second visualization may be a pie chart of the same data set. In another example, the first visualization may be a bar chart of a first data set. The second visualization may also be a bar chart but of a different second data set. The second visualization may also be a pie chart or other visualization of a different second data set.
After retrieving the first and second data sets, Visualization module 150 identifies a first region or a first set of polygons representing the first data set to be morphed (210). The first set of polygons may be selected by a user by, for example, clicking on or highlighting the region. Multiple regions may be selected by, for example, holding the “ctrl” key while clicking the mouse. Visualization module 150 retrieves the data corresponding to the selected region(s) from the first data set to form the first set of polygons to be morphed.
Morphing occurs by first matching a second set of polygons representing the second data set with the first set of polygons representing the first data set (215). The second set of polygons represents a match when it is the same semantic region as the first set of polygons. For example, a bar in a bar chart representing sales data for France is matched with a pie slice in a pie chart also representing sales data for France.
For each candidate starting polygon in the first set of polygons to be morphed, Visualization module 150 finds a point in a destination polygon in the second set of polygons that corresponds to all points in the starting polygon. If there are more points in the starting polygon than the destination polygon, then some, e.g., the nearest, points are regrouped. Conversely, if there are fewer points in the starting polygon than in the destination polygon, some points are split. To avoid incoherent shapes during morphing, the polygons being morphed maintain a convex form. In one embodiment, morphing starts from the top-left corner of the display screen and is applied clockwise. Before morphing is performed, the first visualization is faded out of the display screen (220).
Morphing is performed by animating each stage of the morphing from the first set of polygons into the second set of polygons in the display screen (225). As soon as a match is determined for each point in the starting polygon, each point in the first set of polygons is morphed at a given speed. In one embodiment, the polygons are morphed at logarithmic speed (from the fastest to the slowest). Intermediate polygons are created and displayed at each stage of the morphing, thereby presenting an animation to the user as the morphing occurs. In one embodiment, each intermediate polygon is filled with the same color as its counterpart starting polygon.
The animation performed on the display screen contains a set number of animation frames. The set number of frames is an automatically computed number to obtain a good animation speed. In the embodiment with the logarithmic speed, polygons move faster at the beginning than at the end of the animation because the distance between the initial position and the final one for each animation frame is based on a logarithmic curve: growing fast at the beginning and more slowly as the animation progresses.
When morphing is completed, the second visualization is faded into the display screen (230). In one embodiment, the regions morphed are identified in the second visualization with the same highlighted color used in the first visualization. This way the user is able to easily follow the region from the first visualization to the second visualization and observe what happens with the region during morphing.
Referring now to
According to an embodiment of the invention, the first visualization is faded out of the display screen and region 300 is morphed into a bar of a second visualization, i.e., a bar chart, before the bar chart is faded into the display screen.
Intermediate polygons 305-315 illustrate to the user what happens to region 300 when a bar chart is displayed on the display screen. Each set of consecutive polygons form a shape closer to the shape of bar 320 in
In one embodiment, the highlighting around region 320 is preserved when the bar chart is displayed on the display screen to show the user what happened to region 300 when the bar chart was selected for display. It is appreciated that region 300 and region 320 may be different visualizations of the same data, for example, region 300 and region 320 may both represent revenues for a given geographical region but in different visual formats.
A series of visualizations originating from a common data set is illustrated in
A user viewing bar chart 405 on display screen 400 may desire to focus on the sales revenue for the country of France. For example, the user may be performing an analysis of the sales performance in France as compared to the other regions. In doing so, the user may want to visualize the data set including the sales revenues in France in multiple visualization types. To start its analysis, the user clicks on or highlights bar 410 in bar chart 405 representing the sales revenues in France. The user then selects a tree chart in drop-down menu 420 to be displayed on display screen 400 after bar chart 405.
According to an embodiment of the invention, bar chart 405 is faded out of display screen 400 so that a tree chart as selected by the user can be displayed on the screen. Bar 410 selected by the user is then morphed until it reaches its final shape in a tree chart.
A similar morphing process is repeated when the user desires to change the visualization from tree chart 610 into another visualization type selected in drop-down menu 615, such as a pie chart. Tree chart 610 is faded out of the display screen and region 605 is morphed into a pie slice.
The pie chart generated is illustrated in
Another visualization of the same data set can be selected by the user in drop-down menu 815, such as a line chart. Pie chart 805 is faded out of display screen 800 and pie slice 810 is morphed into a section of a line chart.
The line chart generated is illustrated in
Display screens 400, 500, 600, 700, 800, 900, and 1000 shown on
For example,
When all regions are emphasized by the user, the entire visualization is displayed as the same color. For example, bar chart 1205 in
According to an embodiment of the invention, morphing may also be performed to illustrate what happens between visualizations of the same type that represent different data sets, e.g., morphing between a bar chart and another bar chart containing an additional data set represented in an additional bar. For example,
Note that bar 1505 is the result of morphing bar 1305 shown on bar chart 1310 in
It is appreciated that morphing between visualizations of the same type representing different data sets, e.g., morphing between a bar chart and another bar chart containing an additional data set represented in an additional bar, may be performed on the whole visualization. For example, in the case where the second visualization has an additional data set, morphing may be performed by moving all components in the first visualization, e.g., all bars of a bar chart, into their new positions in the second visualization to accommodate the additional data set. In the example above shown in
According to an embodiment of the invention, if the user desires to change from one visualization type to the same visualization type for a data set that has more or less data, morphing may be performed by preserving the characteristics of the data present in both data sets. For example, a pie chart representing a data set that contains “FR,” “UK,” “US,” “CA,” “RU,” “Ukraine,” and “BG” may be morphed into a pie chart representing a data set that contains all the countries listed in addition to “IT.” In this case, Visualization module 150 may preserve the color on the regions present in both visualizations.
Advantageously, the invention enables users to follow what happens to data, i.e., how it has been transformed, between visualizations. Users may focus on selected portions of a data set to seamlessly understand how the selected data is transformed between visualizations.
The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the invention. However, it will be apparent to one skilled in the art that specific details are not required in order to practice the invention. Thus, the foregoing descriptions of specific embodiments of the invention are presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed; obviously, many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications. they thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the following claims and their equivalents define the scope of the invention.