Chart2
Chart2 is a sub-project of the OpenOffice.org Chart Project. Our goal is to develop a new Chart component for (presumably) OOo 2.3.
Charts are used for visualizing data sets from e.g. spreadsheets by two and three dimensional diagrams. There are a lot of different two- and three-dimensional chart types you can choose from. This page gathers information about the new chart implementation of OpenOffice.org. It is especially written to help new comers to the process of developing in the new OOo chart module.
If you would like to participate, if you have comments or questions related to the chart you are welcome on the graphics mailing lists: (users,dev,features,bugs,cvs)@graphics.openoffice.org. See also the section at the bottom of this page called [Some useful information].
Contents
Development in the New Chart
As the information on how to compile the new chart and on how to develop in this project have become quite lengthy, they can be found now on separate pages:
- FAQ about Chart API Compatibility If you have problems with Macros or extensions that use the com.sun.star.chart API you may find answers or ask questions on this page.
- Compiling the new chart module
- Developing for the new chart module
Open Technical Issues in the New Chart
There still some architectural issues left that have to be solved. This section serves for showing those problems and showing the progress in finding solutions. The issues are now on a separate page.
Why not implement everything in OOo?
Intro: External Programs
Implementing all these issues directly into OOo will be both difficult and unnecessary. It is not always pertinent to reinvent the wheel and I will present later a better solution.
DISADVANTAGES
global disadvantages
- many resources are needed (coders, persons to test the new features, financial constraints and time delays)
- code becomes more and more complex, more difficult to understand by new developers, more testing time needed
- most experienced coders work already on other open source projects; less availability for a new project
specific disadvantages
scripting (see later the asymptote program)
- most of the current implementation has very limited scripting support
- automation will therefore be difficult;
- few users will develop new macros/ enhance the existing functionality of Chart because they will need to learn a new scripting language and/or OOo code
NO scripting means new functionality must be hardcoded into the Chart module
- only users with advanced OOo knowledge will be able to do that
ALTERNATIVES
The main idea is:
- to break the monolithic structure of Chart into various modules and
- export the functionality into various external packages;
- the new OXT extension architecture should ease this process;
A very good alternative is to do all advanced things with dedicated external software, when such free alternatives exist. Below are listed some existing programs suitable for this task: (see also Links section below)
- gnuplot: powerful scientific package
- asymptote: powerful scripting capabilities
- powerful descriptive vector graphics language for technical drawing
- R (with over 500 packages):
- extensive data visualization capabilities: see examples below for details;
- also ideal for scripting;
- ggobi: data visualisation system for exploring high-dimensional data
- see also the R-package rggobi
- YALE: a data mining application
- for specialized data visualization techniques, see the screenshots;
- examples include: 2D and 3D scatter plots, the Self-Organising Maps (SOM) and many other advanced techniques
- octave: a high level mathematical language
- various other packages, e.g. FreeMind and many more, each suitable for some specific task.
ADVANTAGES
- New Features: once the external program is embedded into OOo, one can easily implement many new features (from the specific program) with minimal effort (see also Automation)
- Advanced Solutions: dedicated programs offer more advanced solutions than any OOo implementation (or even that of competitive software)
- Resources:
- less resources needed
- programs are developed by their own groups,
- tested by appropriate folks (mostly proffesionals) and therefore
- NO major delays and less propensity for bugs
- new features are implemented more easily (we at OOo need only make a new Menu/Gui and paste the correct syntax/call to the external program)
- CODE: smaller code, smaller program
- only users that need that option will run it (or download it; see also the note below)
- most other users will not have it installed, therefore OOo should also run faster; not so many resources loaded
- Automation:
- some of these programs come with very powerful scripting capabilities, e.g. gnuplot, asymptote, R-software
- the previous programs are used by millions of users, many of whom already know the scripting/ programming language, and therefore do NOT need to learn a new language (see downloads on sourceforge.net for the first 2 programs)
- easy creation of new macros/scripts; no need to hardcode new functionality into OOo
Another strong reason why external software is a better alternative:
If the coders aren't working with people that know how to do numerical methods then what are the odds that it'll even come out correctly [quote from a user]
A special note:
- because some licenses may not be compatible with OOo (although they are still open source), I DO NOT MEAN to include the code in OOo
- what I mean is a general mechanism in place that allows OOo to communicate (bidirectioanly) with the external software
- instruct users what external programs (extensions) do exist and where to find them (provide url)
- allow users to easily access the functionality of external programs through OOo Menus (or functions)
Links
see also:
- statistical wiki page: http://wiki.services.openoffice.org/wiki/Statistical_Data_Analysis_Tool
- original list: http://graphics.openoffice.org/files/documents/12/3278/List_of_whished_enhancements_for_Charts.odt
External Software
- R-project: http://www.R-project.org/
- gnuplot: http://www.gnuplot.info/
- GRASS: http://grass.itc.it/
- gstat: http://www.gstat.org/index.html
External Chart Types examples
- R-Gallery: very large collection of various chart types, see http://addictedtor.free.fr/graphiques/allgraph.php and http://addictedtor.free.fr/graphiques/RGraphGallery.php?graph=2
List of whished enhancements for Charts
This list is based primarily on the List of wished enhancements for Charts.
- Introduction
- Chart-Types
- Legend
- Data Labels
- Axis
- Chart formatting
- Trend lines and error bars
- Range and data series
- Chart annotation
- Miscellaneous
- Killer apps from other Chart softwares :-)
Features
Documentation
The application help introduces an own module "Chart" in the top left drop-down listbox of Help Viewer. Main issue for documentation is http://www.openoffice.org/issues/show_bug.cgi?id=60360
Some useful information
- Chart Project Page: http://graphics.openoffice.org/chart/chart.html
- Chart Specifications: http://specs.openoffice.org/chart/index.html
- IRC channel: #chart2.openoffice.org on freenode
- OOo Sun Developers Weblog: GullFOSS (which also shows up at Planet OpenOffice.org)