The present invention relates to a visual presentation of non-numeric and numerical data on a user interface.
There is an increasing need to visualize data in cluttered contexts, so as to highlight the numeric portions of document content from textual/image portions. Documents can come in a variety of electronic formats, including Word documents, different spreadsheet types, PDFs, as well as in hard copy forms. It is a challenge to efficiently distinguish numeric portions from textual/image portions of a document, potentially of a variety of different document formats, while at the same time retaining contextual information of the original document.
For example, current charting software such as Excel does provide for display of numerical data contained in a spreadsheet to be subsequently represented in a chart, such as a bar chart. However, there are significant limitations with currently available charting software, including required manual labeling of chart axes and other desired chart text, manual formatting of text (e.g. title and labels) associated with the numeric spreadsheet data, and resolution difficulties in visualizing of large data sets.
It is a challenge to efficiently distinguish numeric portions from textual/image portions of a document, potentially of a variety of different document formats, while at the same time retaining contextual information of the original document. Contrary to current systems and methods, a system and method are provided for visually distinguishing a plurality of numerical elements from a plurality of non-numeric elements in source data, in which the plurality of non-numeric elements providing context for the numerical elements. The system and method comprise the modules and corresponding functionality for selecting a portion of the source data and for identifying the plurality of numerical elements from the plurality of non-numeric elements in the selected portion of the source data according to a recognized format of the numerical elements. The system and method also assign a first shape object to an identified first numerical element of the plurality of numerical elements such that a visual property of the first shape object represents the numerical value of the first numerical element according to a scale, as well as assign a second shape object to an identified second numerical element of the plurality of numerical elements such that the visual property of the second shape object represents the numerical value of the second numerical element according to the scale. The system and method also position the first and second shape objects with respect to a reference surface and assign non-numeric objects to each of the plurality of identified non-numeric elements in the selected portion of the source data. Further, the system and method also position the non-numeric objects with respect to the reference surface for facilitating maintaining the context of the numerical elements for the numerical objects, such that the objects and reference surface are configurable for subsequent display as transformed data or storage in a storage for later retrieval.
According to one aspect there is provided a method for visually distinguishing a plurality of numerical elements from a plurality of non-numeric elements in source data, the plurality of non-numeric elements providing context for the numerical elements, the method comprising the steps of: selecting a portion of the source data; identifying the plurality of numerical elements from the plurality of non-numeric elements in the selected portion of the source data according to a recognized format of the numerical elements; assigning a first shape object to an identified first numerical element of the plurality of numerical elements such that a visual property of the first shape object represents the numerical value of the first numerical element according to a scale; assigning a second shape object to an identified second numerical element of the plurality of numerical elements such that the visual property of the second shape object represents the numerical value of the second numerical element according to the scale; positioning the first and second shape objects with respect to a reference surface; assigning non-numeric objects to each of the plurality of identified non-numeric elements in the selected portion of the source data; positioning the non-numeric objects with respect to the reference surface for facilitating maintaining the context of the numerical elements for the numerical objects; wherein the objects and reference surface are configurable for subsequent display as transformed data.
According to further aspect there is provided a system for visually distinguishing a plurality of numerical elements from a plurality of non-numeric elements in source data, the plurality of non-numeric elements providing context for the numerical elements, the system comprising: a data module configured for selecting a portion of the source data and for identifying the plurality of numerical elements from the plurality of non-numeric elements in the selected portion of the source data according to a recognized format of the numerical elements; a transformation module configured for assigning a first shape object to an identified first numerical element of the plurality of numerical elements such that a visual property of the first shape object represents the numerical value of the first numerical element according to a scale, and assigning a second shape object to an identified second numerical element of the plurality of numerical elements such that the visual property of the second shape object represents the numerical value of the second numerical element according to the scale, and assigning non-numeric objects to each of the plurality of identified non-numeric elements in the selected portion of the source data; and a visualization module configured for positioning the first and second shape objects with respect to a reference surface and for positioning the non-numeric objects with respect to the reference surface for facilitating maintaining the context of the numerical elements for the numerical objects; wherein the objects and the reference surface are configurable for subsequent display as transformed data.
According to a still further aspect there is provided a computer program product for visually distinguishing a plurality of numerical elements from a plurality of non-numeric elements in source data, the plurality of non-numeric elements providing context for the numerical elements, the computer program product comprising: a computer readable medium; a data module stored on the computer readable medium and configured for selecting a portion of the source data and for identifying the plurality of numerical elements from the plurality of non-numeric elements in the selected portion of the source data according to a recognized format of the numerical elements; a transformation module coupled to the data module and configured for assigning a first shape object to an identified first numerical element of the plurality of numerical elements such that a visual property of the first shape object represents the numerical value of the first numerical element according to a scale, and assigning a second shape object to an identified second numerical element of the plurality of numerical elements such that the visual property of the second shape object represents the numerical value of the second numerical element according to the scale, and assigning non-numeric objects to each of the plurality of identified non-numeric elements in the selected portion of the source data; and a visualization module coupled to the transformation module and configured for positioning the first and second shape objects with respect to a reference surface and for positioning the non-numeric objects with respect to the reference surface for facilitating maintaining the context of the numerical elements for the numerical objects; wherein the objects and the reference surface are configurable for subsequent display as transformed data.
It is an object of the present invention to provide a system and method for visual presentation of non-numeric and numerical data on a user interface to obviate or mitigate at least some of the above-mentioned disadvantages.
A better understanding of these and other embodiments of the present invention can be obtained with reference to the following drawings and detailed description of the preferred embodiments by way of example only, in which:
a shows a further example of a document of the system of
b shows a corresponding generated chart of the document of
a shows an example of rule generation for generating the transformed document of
b shows a further example of rule generation for generating the transformed document of
c shows a further example of rule generation for generating the transformed document of
d shows a further example of rule generation for generating the transformed document of
e shows a further example of rule generation for generating the transformed document of
f shows a further example of rule generation for generating the transformed document of
g shows a further example of rule generation for generating the transformed document of
h shows a further example of rule generation for generating the transformed document of
It is noted that similar references are used in different figures to denote similar components.
The following detailed description of embodiments of the system and method for visual presentation of non-numeric and numerical data does not limit the implementation of the system and method to any particular computer programming language. The system and method for visual presentation of non-numeric and numerical data may be implemented in any computer programming language provided that the OS (Operating System) provides the facilities that may support the operating requirements of the system and method. A preferred embodiment is implemented in the C sharp computer programming language (or other computer programming languages in conjunction with Java, C/C++). Any limitations presented would be a result of a particular type of operating system, computer programming language, or data processing system and would not be a limitation of the system and method.
Overview
The following describes the system and method for automated two/three-dimensional visualization of a source document (spreadsheet and other documents types) including non-numeric and numerical data elements as document content. This data visualization system and methods provide a tool for visualizing the contents of a source document, a spreadsheet for example. In one embodiment, the data visualization system and method visualize original/source spreadsheet data using: a visualization metaphor such as but not limited to two/three-dimensional graphical object(s) consisting of a transformation of numerical values from a selected portion (by a user) of the original spreadsheet to be depicted as either two or three-dimensional graphical numerical objects as shapes (e.g. squares, circles, cubes, cylinders, cones, surfaces, mesh, ribbons, etc); and a text representation of the non-numeric elements (e.g. text and/or images) from the selected portion of a spreadsheet, including cell outlines (where used) and formatting (such as shading, colours, textual formats, date and time formats, borders, etc. . . . ) as desired, the graphical objects are projected upon a reference surface (e.g. planar or three dimensional) within a three-dimensional environment. It is recognized that the non-numeric elements in the source document can be considered contextual information for providing a meaning (e.g. labels) for the numerical elements and accordingly the correspondingly generated non-numerical objects are used in the transformed document (e.g. a chart) to provide contextual information for the generated numerical objects. Further, colour coding and/or size/shape of the numerical objects can be used to visually represent the magnitude of the value of the numerical elements obtained from the source document. Colour coding can also include shading underneath or otherwise with respect to the numerical objects, as desired, as well as application of selected texturing.
The two/three-dimensional numerical object(s) (e.g. shapes) and the non-numeric objects (e.g. text representation and images) are used to produce the transformed document, which is subsequently recognizable by the user as representative of the selected portion of the original spreadsheet/document. It is recognized that the graphical non-numeric objects (e.g. text representing text elements of the original spreadsheet) and the graphical numerical objects (representing the magnitude of the numerical elements of the original spreadsheet) can be anchored/placed to their corresponding relative locations (as shown in the original spreadsheet) upon the reference surface in the transformed document, thus facilitating retaining of relative context by the user between content in the original spreadsheet document and the content in the transformed document. Further, it is recognized that the combination of any number of these two/three dimensional numerical objects and non-numeric objects, whether set all within the reference plane/surface or at different angles within a three dimensional space, can be used to form floors and a wall (e.g. providing multiple reference surfaces positioned at various angles with respect to one another) in the transformed document.
Further, the method for visually analyzing and presenting data embedded on the reference plane/surface (e.g. data elements obtained from the original/source text document, a spreadsheet, a slide, etc. . . . ) as three-dimensional graphical objects can include: all non-numeric elements (e.g. text and/or images) of the source document as projected upon the reference plane/surface in three-dimensional space of the transformed document as the non-numeric objects; and all numerical elements (representing magnitudes of a measured quantities) of the source document as depicted as graphical numerical objects, of either two or three dimensions, upon the reference plane/surface in three-dimensional space of the transformed document. The numerical values of the numerical elements are depicted in the transformed document by visual attributes of the numerical objects, such as the object's height, color. Further, the graphical numerical objects depicting the numeric values are oriented in three-dimensions to align with their relative location from the source document upon the two-dimensional reference plane/surface projected into the three dimensional space of the transformed document.
Visualization Environment
Referring to
It is recognized that the source document 14 can also be an electronic data transfer provided to the tool 12 as input data, e.g. streaming stock information or other electronic source of data, that is not a typical document as such. In this case, the data (including elements 18,20) associated with the electronic data transfer could also include positioning information and details usable for determining whether a particular element is numerical or non-numerical in nature. For example, the elements 18,20 could be taken from a web page (e.g. on the Internet) accessed by the tool 12 through a browser (not shown), or taken from a data feed supplied to the tool 12 via an intranet. It is further recognized that the transformed document 22 can be in the form of a chart or other display of visual information presented on a visual interface VI 202 (see
It is recognized that subsequent editing of elements 18,20 in the source document 14 by user events 109 may provide for a real-time automatic update of the corresponding objects 24,26 shown in the transformed document 22 by the tool 12, or vice-versa. It is further recognized that the relative spatial positions of the elements 18,20 in the source document 14 are maintained to a certain degree for the corresponding objects 24,26 in the transformed document 22, however the numerical elements 18 have been converted into the two/three dimensional graphical shape objects 24 while the non-numeric elements 20 can retain their original visual nature (e.g. text, symbol, picture/image) when displayed as the non-numeric objects 26, as perceived by the user of the tool 12 (see the example transformed documents 22 of
Data Processing System
Referring to
Referring again to
Further, the data module 114 (or other as desired) can be configured with a parser/comparison module 115 for identifying (e.g. using rules 101) all the numerical values of the numerical elements 18 in the source document 14, and then separating different value types into value categories based on formats (e.g. percent, currencies, fractions, integers, etc). The transformation module 100, for example, can use the rules 101 to normalize each numeric category separately and then assign different categories to different visual attributes (e.g. shape or hue) of the objects 24 used to represent the numerical values of the numerical elements 18. The above-described process facilitates visual grouping through Gestalt principle of similarity, for example, and facilitates visual comparison through relative differences between the visuals within any one group. Referring to
Visual Objects 24,26 Generation
The differentiation between numeric elements 18 and non-numeric elements 20 in the document 14 is done by the data module 114. For example, the data module 114 can parse the contents of the document 14 searching for document formatting information in order to identify numeric 18 and non-numeric 20 elements. For example, in spreadsheets, each cell (identified by a unique row and column) has the contents defined by a content format (e.g. numeric, text, or date/time) and this cell content format is stored in the spreadsheet along with the actual cell contents. For example, in parsing the document the data module 114 could find:
Another option is for the data module 114 to use the specified formatting in the document 14 (e.g. a Microsoft™ Word document) to identify the spatial position and element type (numeric 18 or non-numeric 20). Another option is for the data module 114 to use Optical Character Recognition (OCR) software, as is known in the art, to identify the contents of the document according to element 18,20 type and spatial position of the elements 18,20 relative to one another. Further, tags and attributes of schema defined languages (e.g. HTML, XML, etc.) can be used by the data module 114 to parse the documents 14 for identification of the numerical 18 and non-numerical 20 elements, as well as their relative positioning. This positioning information can be determined by a position module 116 (see
For example, referring to
In general, the numeric elements 18 are distinguishable from the non-numeric elements 20, as each of the numeric elements 18 has an associated quantitative value/measurement that is relative to the quantitative value/measurement of the other numeric elements 18 on a common scale (or scales in the case of different sets of elements 18). In contrast, the non-numeric elements 20, such as text or other marks, pictures and/or symbols (for example used in a writing system or representation of visual objects) do not have an associated relative quantitative value. The physical dimensions and other visual attributes (e.g. colour, shape, etc. . . . ) of the shape objects 24 are used to represent the quantitative value (and qualitative if desired) of the represented numeric element 18 selected from the document 14 (e.g. the number “3.5” as the numeric element 18 is reproduced as a bar shaped object 3.5 units high as the shape numerical object 24). In contrary, the visual characteristics of the non-numeric elements 20 in the document 14 are reproduced as the non-numeric objects 24 in the transformed document 22 (e.g. the text “AGN” as the non-numeric element 20 is reproduced as text “AGN” as the non-numeric object 26).
Referring to again to
Visualization Tool 12
Referring to
Accordingly,
For example, whether viewing your own document 14 or one of the examples provided, the first step is to open a selected document 14 using the tool 12 from the “Start” menu of the system 10. Then, without closing that document 14, open any other documents/spreadsheets 14 that you may want to visualize.
Rule Set-Up for Transformation Processing
The following is an example of rules 101 (see
Set the Range Rules
The visualization can have as part of the menu 400 a Floor surface 500 button 600, a Left Wall surface 502 button 602 and a Right Wall surface 504 button 604 (see
click the button 600,602,604 of the menu 400 for the visual element you want to set—by default, the “Floor” button 600 can be enabled;
select the desired range/region 30 in the document 14;
the visualization of the transformed document 22 updates in the VI 202 to include the translated numerical 18 and non-numeric 20 elements as the objects 24,26 on the selected reference surface 500,502,504; and
to keep the range/region 30 in the visualization locked to the selected range, click the range setting button back to off.
It is recognized that each of the reference planes/surfaces 500,502,504 can (see
Shape Rules
Referring to
click the button 600,602,604 from the menu 400 for the visual element you want to set—by default, the “Floor” surface 500 button 600 is enabled; and
click the new shape from the shape menu 606. For example, by default positive numeric values can be selected as green shapes and negative numeric values can be a different colour as for example red shapes).
Further, the menu 606 can also be used to set the desired size of the shapes based on the numerical values of the numerical elements 18. For example, a value scale can be specified with the top of the scale represented by a selected largest size of the shapes and the bottom of the scale represented by the smallest size of the shapes. The shape size between the top and bottom sizes of the scale could be graduated accordingly. Further, the largest and smallest sizes of the shapes could be dictated (dynamically or statically) by the visual density of the adjacent objects 24,26 on the VI 202 and/or the resolution of the VI 202 display, for example.
Zoom Rules
The user can use the buttons 608 of the menu 400, see
Rules 101 for Setting Other Options
Various options can be configured for the each visual objects 24,26 of the transformed document 22, as generated by the transformation module 100. Here are some example options:
Color Rules 610:
Referring to
Base Rules 612:
Referring to
Text Rules 614:
Referring to
Title Rules 616:
Referring to
Size Rules 618:
Referring to
Menus 400
Other example menu 400 selections can include:
Examples of document 22 visualization can include the following.
Referring to
Referring to
Referring to
Referring to
Referring to
Referring to
Document 22 for Excel Spreadsheet Document 14 Visualization Examples
Excel Visualization can be quite versatile for creating quick, useful visual analysis, monitoring and presentation of data; which can be further enhanced by adapting and customizing it. Here are examples of Excel visualization adapted for specific uses.
Referring to
Referring to
Referring to
Accordingly, a novel process has been described whereby a spreadsheet (or other document 14) user selects a range of cells within a spreadsheet and the visualization immediately creates the three-dimensional object as a chart, without requiring any additional interaction by the spreadsheet user. Location of all elements within the original spreadsheet are located relative to each other in the three-dimensional chart (or other document 22) with the same relationship as set out in the original spreadsheet. Detection, normalization and mapping of numeric values to graphical symbols are automatic. This data visualization system and methods can create visual displays: with fewer steps of user clicking, than required by charts and graphs embedded within existing spreadsheet systems; can show far more data than the charts and graphs embedded within existing spreadsheet systems; can automatically organize the visual elements, automatically provides labels and formatting based on the spreadsheet; can reduce learning time to use the displayed chart, because the location of all elements in the chart is substantially identical (as perceived by the user) to the location previously determined in the spreadsheet; can update immediately when the spreadsheet updates, whether the update is invoked by the user, by a calculation or by a data event; and can operate such that clicks in the chart are passed back to the corresponding cell in the spreadsheet (e.g. cell selection).
It is recognized that any number of three-dimensional graphical elements can be combined within a three dimensional space of any orientation created from any combination of original source documents. Further, the method wherein generating a three-dimensional graphical element comprises of: determining the selected area of the original two-dimensional plane/surface; determining the data elements of the selected area to distinguish between text/images, visual formatting elements such as lines and shading and numerical values; creating the three-dimensional elements consisting of the appropriate generally two-dimensional planar elements of text/images and visual formatting elements such as lines and shading; and normalizing the numeric values and mapping the normalized values onto visual attributes such as size and color of two or three dimensional objects. It is recognized that the text/images of the original source document can be represented in the transformed document as either truly two-dimensional objects (i.e. lying on the reference plane/surface without apparent height off the surface) and/or can be represented in the transformed document as a relief text/image object (i.e. having a perceivable height off the surface such that the perceivable height is minimal as compared to the height of the three-dimensional graphical elements of the numeric data values.
Further, the transformation of the data into graphical symbols can be reconfigured by the user after the automatic process is complete. The user can control how the normalization is completed, choose from different symbol types, etc.
Tool 12 Operation
Operation of the tool 12 to generate the chart 22 from selected region(s) 30 of the document(s) 14 can be as follows, referring to
This application claims the benefit of Provisional Application No. 60/691,799, filed on Jun. 20, 2005, herein incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60691799 | Jun 2005 | US |