Requirements for the New Chart from the Calc's Point of View

Last modified: 01/22/2002

Contents

1. Introduction
2. Selection of Ranges
3. Feedback from the Chart
4. Update of Data Sources
5. Miscellaneous Things for the New Chart

1. Introduction

This is an overview of the requirements, the Calc application has for the new chart. All things that are currently possible with charts inside of Calc documents must be possible (or improved) in the new implementation. The 'Old Chart' sections refer to those features. In the 'New Chart' sections there are ideas of extensions to the current chart, that should be available in the new chart.

2. Selection of Ranges

Old Chart

  1. Select a rectangular region of cells in a spreadsheet. The first row and column may be designated as captions. It is possible to interpret rows or columns as data series.
  2. Select several regions where all have one dimension in common, e.g., all regions are columns of length 7. In this case we have in principle the same as before. Currently, if, e.g., all ranges are columns of the same length, but they do not all span the same rows, you get a long first series. This should be improved in the new implementation.
  3. Add regions with fitting dimension via drag & drop. The result is as before.
  4. Select several regions with arbitrary dimension. The regions are merged in a more or less intelligent way, to represent a rectangular region. This should be improved, by using more than one data source and series with different dimensions in one chart.
  5. Add a range to a heterogeneous set of ranges, as described before, via drag & drop. This currently works as described in the last point. Using series with different dimension, this can also be achieved more intelligently, while preserving the distribution of ranges from before.
  6. Create a chart using A1:A9 and C1:C9. Later add B1:B9 via drag & drop. In the result you get the new series as second series. The former second series becomes the third one.

New Chart

  1. The selection should be split and merged in the most optimal way, to get exactly what a user intends in most of the common cases.

3. Feedback from the Chart

Old Chart

  1. Select a series in a chart. The corresponding range used by that series in the spreadsheet is highlighted.
  2. Select the diagram object. The complete rectangular range is highlighted. When dealing with more than one range, the new chart should mark all ranges in the spreadsheet.

New Chart

  1. Select a title object, or other objects that use ranges from the surrounding spreadsheet. Highlight those ranges in the spreadsheet.
  2. Change the size of a data representation object. The change should result in a change of the underlying data. To ensure this is possible, we should have a read-only flag at a data source or, alternatively, the data source must support a special interface for enabling this feature. There should also be a UI feature to enable/disable this behavior.

4. Update of Data Sources

Old Chart

  1. If a value of a cell changes (manually or by calculation) and there are charts that use this cell in a data source, those charts should be notified with the updated data. If only values change (and not dimensions), the update should be as specific as possible, i.e., if only one cell changes it would be best to receive an event that contains only this single cell reference.

New Chart

  1. An update should not result in a 'BuildChart'. If possible, only the data representations affected by the update should be rebuilt or changed.

5. Miscellaneous Things for the New Chart

  1. For data series and titles there should be an extra tab page to select the underlying data source. This should be a generic dialog, with which you can add all sorts of registered data sources. The question remains, how you can integrate a Calc range chooser in such a general concept
  2. You should allow assigning data sources to specific objects as well as selecting a rectangular region to serve as data for the complete chart.