Abstract:
An apparatus, method and program product for providing dynamic visual cells in tabular data. A computer has an application for selecting a range of cells in said tabular data. A routine within the application recognizes a request for a graphical plot for data contained within the selected range of cells. The request may be from a user via a popup or a command menu. A routine within the application provides a graphical plot in a summary cell associated with the selected range of cells. The summary cell may be associated with the selected range of cells by being proximate the selected range of cells, or by location, color or a graphic property.

Description:
This invention relates to tabular data applications executable by a computer, and particularly to dynamically visualizing the results of calculations and plots to a visually-based spreadsheet where cells of the spreadsheet contain image data. 
     BACKGROUND OF THE INVENTION 
     There are two common functions across a set of data of a spreadsheet: applying formulas and automatically rendering plots. These actions are typical of numeric-based spreadsheets. Applying a formula across a series of rows or columns (or arbitrary cells) results with a numeric value being placed in another cell. This other cell is typically at the end of the row or column. Selecting an adjacent set of cells and automatically rendering a plot of these values against the x-axis is another common task. The resulting plot will either appear within a separate pane/window over the data cells with which you are working. This interaction results in the obscuring of the original data. 
     U.S. Pat. No. 5,093,907 issued Mar. 3, 1992 to Hwong et al. for GRAPHIC FILE DIRECTORY AND SPREADSHEET discloses a combined visual directory and spreadsheet for graphic files. Graphic files can be selectively associated with cells of a matrix. A selectable portion of the matrix containing miniaturized versions of the graphic files associated with the cells of that portion is displayed on an editing monitor. Graphic functions of various kinds can be assigned to displayed cells by the operator to produce modifications, animation, or display of graphics associated with selected cells. 
     U.S. Pat. No. 5,255,363 issued Oct. 19, 1993 to Seyler for GRAPH-BASED PROGRAMMING SYSTEM AND ASSOCIATED METHOD discloses a graphical programming system with a spreadsheet base for enabling users to create graphical program for displaying and manipulating data. 
     U.S. Pat. No. 5,416,895 issued May 16, 1995 to Anderson et al. for SYSTEM AND METHODS FOR IMPROVED SPREADSHEET INTERFACE WITH USER-FAMILIAR OBJECTS and U.S. Pat. No. 5,502,805 issued Mar. 26, 1996 to Anderson et al. for SYSTEM AND METHODS FOR IMPROVED SPREADSHEET INTERFACE WITH USER-FAMILIAR OBJECTS disclose electronic spreadsheet systems which include a notebook interface having a plurality of notebook pages, and methods for rapidly accessing and processing information on different pages. 
     U.S. Pat. No. 5,462,708 issued Oct. 24, 1995 to Kahn for SYSTEMS AND METHODS FOR AUTOMATED GRAPHING OF SPREADSHEET INFORMATION and U.S. Pat. No. 5,581,678 issued Dec. 3, 1996 to Kahn for SYSTEM AND METHODS FOR AUTOMATED GRAPHING OF SPREADSHEET INFORMATION disclose electronic spreadsheet systems which include intelligent graphing modules for automatically selecting a graph type based on a user&#39;s own data. 
     U.S. Pat. No. 5,880,742 issued Mar. 9, 1999 to Rao et al. for SPREADSHEET IMAGE SHOWING DATA ITEMS AS INDIRECT GRAPHICAL REPRESENTATIONS discloses an improvement to a spreadsheet application program and displays a first spreadsheet image showing a plurality of cell regions each of which shows a direct, symbolic representation of a source data value of a source data item in an n-dimensional information data array with which the cell is respectively paired. A second spreadsheet image is displayed which shows in each cell, a graphical display object representation of the respectively paired source data value in place of its direct representation. 
     U.S. Pat. No. 6,256,649 B1 issued Mackinlay et al. issued Jul. 3, 2001 for ANIMATED SPREADSHEET FOR DYNAMIC DISPLAY OF CONSTRAINT GRAPHS displays an augmented spreadsheet presentation provides for selecting a region of user focus in a primary body of data displayed as an array of cells, with two or more displayed cells of the array of cells being logically linked by a constraint graph. 
     U.S. Pat. No. 6,496,832 B2 issued Dec. 17, 2002 to Chi et al. for VISUALIZATION SPREADSHEET discloses a system for analyzing data organized into data sets and for transforming the data sets into a visual representation of the data sets. 
     U.S. patent application Publication published Jul. 11, 2002 by Kjaer et al. for MULTIDIMENSIONAL ELECTRONIC SPREADSHEET SYSTEM AND METHOD discloses a multidimensional electronic spreadsheet system wherein different spreadsheet cells may be addressed by a different number of variables, thereby minimizing memory and processing time requirements of the electronic spreadsheet system. 
     Torres, for SPREADSHEET DATA VISUALIZATION, Research Disclosure n334 02-92 page 4, and (Feb. 1992) discloses a technique to enhance processing of spreadsheet or tabular data by creating a visual spreadsheet and includes automatic generation of a visual spreadsheet by converting numeric data to visual form as in a 3-D histogram. 
     SUMMARY OF THE INVENTION 
     The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a system, method and program product which visualize the results of calculations and plots, and applying the techniques to a visually-based spreadsheet where the cells contain numeric or image data. 
     It is an object of the present invention to plot the output of a calculation over a set of data. 
     It is also an object of the present invention to provide a representation within the viewed spreadsheet but which is contained as a meaningful image within a cell that does not distract from or hides the existing data with which it is working. 
     It is further an object of the present invention to provide images which are used as input to functions. The output of the function is other images or plots which change over time. 
     It is also an object of the present invention to provide images in a visual spreadsheet in which an analysis is run on a row of images and a plot of the results appears at the end of the row. 
     It is also an object of the present invention to present a graphic summary for each cell or a selected region of cells in a sequence of cells. 
     It is also an object of the present invention to provide summary data presented overlaying cell data. The summary data can be textual, numeric or image data of a sequence of cells with the final summary cell displaying text, numbers, graphs or images. 
     System and computer program products corresponding to the above-summarized methods are also described and claimed herein. 
     Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention. For a better understanding of the invention with advantages and features, refer to the description and to the drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which: 
         FIG. 1  illustrates a screen capture of a prior art spreadsheet of a plurality of cells arranged in rows and columns; 
         FIG. 2  illustrates a prior art spreadsheet in which a row of cells contain data; 
         FIG. 3  illustrates a prior art spreadsheet application in which a plot of the data in the row of  FIG. 2  is overlaid over the spreadsheet, obscuring the original sheet. 
         FIG. 4  illustrates a prior art chart in a spreadsheet application in which the plot of  FIG. 3  is shown in a separate sheet; 
         FIG. 5  is a block diagram of a computer system including a spreadsheet application having a visualization module of the present invention; 
         FIG. 6  illustrates a spreadsheet wherein the end of the row of data from  FIG. 1  includes a plot as an object in a cell at the end of the row; 
         FIG. 7  illustrates a spreadsheet from  FIG. 6  with additional summary information displayed. 
         FIG. 8  is a flowchart of the present invention for the visualization module of  FIG. 5 ; and 
         FIG. 9  is a flowchart of another embodiment for the visualization module of  FIG. 5 . 
     
    
    
     The detailed description explains the preferred embodiments of the invention, together with advantages and features, by way of example with reference to the drawings. 
     DETAILED DESCRIPTION OF THE INVENTION 
       FIG. 1  illustrates a prior art screen capture  20  of a spreadsheet application such as 1-2-3 from Lotus and having a plurality of cells  22  arranged in rows 1-36 and columns A-M. As is well known, each cell  22  may contain alphabetic characters illustrated by AAA, or numeric characters illustrated by 999, or a combination of both. The characters are inputted into or modified in selected cells by use of a curser icon  24 , or calculated from data in other cells, as is known. The present invention allows a user to create summary visualizations and annotated data within a cell of the spreadsheet, as will be described. 
       FIG. 2  is illustrates a prior art spreadsheet sheet  28  having a row of cells  30  containing data in the cells B:4 to G:4. One of the typical spreadsheet functions is to plot the data in row  30 , and display it in a chart  32  shown in  FIG. 3  which overlays the original sheet  28 , obscuring at least a portion of the row  30 . Another typical function of prior art spreadsheet applications is to create a separate sheet  34  in  FIG. 4  which is a chart  36  plotting the contents of the row  30 . Although the chart  36  does not obscure the row  30  as in  FIG. 3 , the plot of the chart  36  cannot be viewed at the same time that the row  30  is viewed. 
       FIG. 5  is a block diagram of a computer system  46  usable with the present invention. The computer system  46  includes a spreadsheet application  48  being executed by the computer system  46 . The spreadsheet application  48  includes a visualization module  50  for creating summary and annotated visualizations. The computer  46  additionally includes input devices  52  for inputting data into the cells of row  30 , as previously discussed. The computer system  46  further includes a monitor  53  for displaying the spreadsheet of  FIG. 1 , visualization displays of the visualization module  50 , and a computer readable media  54  for storing computer readable code for the spreadsheet application  48  for data used in the application. The computer readable media  54  may include computer RAM, ROM, hard drive, disk, diskette, tape, other electronic or optic media. 
       FIG. 6  illustrates a spreadsheet  28  wherein the data in the row  30  is plotted into a selected cell  60 . The cell  60  is shown at the end of the row  30 , but can be placed in any selected cell. The plot  60  is the output of a calculation over the set of data in row  30 . In this way, it is similar to the results of a summation, but just visualized differently. Instead of one number, it is an image of the change of that number over time. If the spreadsheet  28  treated images as first class objects, the plot  60  is the results that would be put into the cell at the end of the row  30  (or column). Some visual representation is provided within the viewed spreadsheet, but is contained as a meaningful image within a cell that doesn&#39;t distract from or hide the existing data with which one is working. The plot  60  may then be clicked on, or rolled over, to reveal the full-size plot, similar to the one shown in  FIG. 4 . Images may be used as input to functions. The outputs of these functions are other images or plots. For example, researchers might analyze images to calculate the size of an area and how it changes over time. Placing these images in a visual spreadsheet, the analysis is run on the row of images and a plot of the results appears at the end of the row. 
       FIG. 7  shows the same plot  60  at the end of row  30 . In addition, summary information as numeric  32  or graphic data  34  can be displayed over or adjacent to the original cell. This is particularly relevant when the cells represent time-based data. Each data cell may have snapshot information of an applied transformation/calculation visually represented as a graphical or alphanumeric device either over or adjacent to the associated data cell. 
     There are two cases for the selection of calls containing summary information.  FIG. 8  illustrates the user selection of the cell for visualization, and  FIG. 9  illustrates the automatic selection of the cell for the summary graph. When the user does the selection as in  FIG. 8 , the selection may be any random cell in the spreadsheet. For the automatic selection of  FIG. 9 , typically the routine of  FIG. 9  picks a cell close to the sequence, (proximate) such that the cell is visually related to the sequence. Alternately, a number of sequences are processed, and summary cells are placed together and coded, such as by color, to associate the summary cells with the sequence each summary cell represents. 
       FIG. 8  is a flowchart of the visualization module  50  and starts at  65 . At  66 , the user selects a cell of the spreadsheet for visualization. At  68 , the user requests visualization for the cell via a popup or command menu. At  70 , the system prompts user for input cells. At  72 , the system creates a visualization with data from input cells, and places the visualization into the selected cell. The routine ends at end  74 . 
       FIG. 9  is a flowchart of another embodiment of the visualization module  50  wherein a row or column of cells is selected first. The routine starts at  76 , and at  78 , the user selects a row or column of cells. A check is made at  80  to determine if the cell to the right of the row, or below the column is empty. If no, a check at  82  determines if the cell to the left of the row or above the column is empty. If the check at  82  is no, the system prompts the user to enter an empty cell for the visualization. If the results of the check at  80  or  82  is yes, or if an empty cell is selected at  84 , the cell is selected for visualization at  86 . At  88 , the system creates a visualization with data from the input cells, and places the visualization into the selected cell. The routine ends at  90 . Typically, right and left are associated with rows and above and below are associated with columns. This happens when working with data in a row format or column format, not usually at the same time. 
     Although the embodiment disclosed is spreadsheet specific, it will be understood that the invention may be used with any other tabular forms of data, and is not limited to spreadsheet applications alone. 
     The capabilities of the present invention can be implemented in software, firmware, hardware, or some combination thereof. 
     As one example, one or more aspects of the present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the capabilities of the present invention. The article of manufacture can be included as a part of a computer system or sold separately. 
     Additionally, at least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform the capabilities of the present invention can be provided. 
     The flow diagrams depicted herein are just examples. There may be many variations to these diagrams or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention. 
     While the preferred embodiment to the invention has been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described.