[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    Re: KChart development (was: KTouch development)
From:       Andreas Nicolai <Andreas.Nicolai () gmx ! net>
Date:       2003-05-05 8:41:23
[Download RAW message or body]

Hi Nicolas and Karl-Heinz!

Thanks for your answers, this is very interesting for me to see that there is 
actually progress and potential for this chart drawing stuff.

Right now I'm fairly familier with the major chart drawing engines and 
charting GUIs under windows, namely Excel (quite complete but bad UI) and 
Stanford Graphics (complete and average GUI). Both programs provide the means 
to display charts based on tabulated data (functions are missing in both 
applications) and in both programs the user interface is not at all intuitive 
or simple.

When looking at the available programs under linux - for functions: 
gnuplot/kmathplot and for tabulated data: KChart 
I found that the basic functionality is given, but there are a lot of chart 
types and settings missing. Now from your mail (Karl-Heinz) I learned, that 
the chart engine of KChart actually supports a number of features, not yet 
usable in the current version. 

Now when looking at chart drawing from the users point of you (mine :-) I 
would like to have the following features:

1. based on the data I have available (1D, 2D, 3D) the program needs to offer 
the different chart types available that the user can choose
Note that the data governing the chart type is bases on data series, so having 
multiple data series of type 1D doesn't mean we have a 2D chart...
Let me explain this:

1D - a table (1 column per series) of n values, usuable for pie-charts, or 
different 2D charts where the x-axis is divided in n equal columns/points 
(for each of the n values).

2D - data points, that can be displayed as 2D charts (used for charts that are 
plotted using x-y value pairs)

3D - data points, that can be displayed as 3D charts or 2D colour maps etc.


2. now the user has to assign the source data:
for tabulated chart data: import from text files, reference to spread sheet 
ranges etc. 
or for functions: define the functions and the x-values (or x,y value pairs) 
for which the y (or z values respectivly) will be calculated.


3. with chart type set and data source the chart should be drawn at first with 
default settings.


4. now the user must be able to change all the different features/settings of 
the chart to adjust this chart to his need (see detailed discussion below)


The feature settings:
Before proposing my idea of user interface I would like to point out some 
common problems with major charting UIs.

Excel: The settings can be changed on various dialog boxes, sometimes even 
showing the same information (bad) and allowing to make the same changes in 
different ways (very bad). The dialogs can be opened using context menues 
with somewhat tricky selecting of the objects (bad, because of disturbing 
pixel-like clicking on charts up to unability to select a point chart when 
the points are not shown). Moreover different context menues offer sometimes 
the same dialogs for no known reason (general design faults).

Stanford Graphics: Same problems as in Excel (hard to select context menues),  
crashes often and is in general very buggy. However, the complexity and the 
enormous number of options (including aligned axis titles and desciptions in 
3D charts) make it one of the most powerful charting engines available... 
(why don't we have  something like this under linux, yet?)

Now, the GUI of KChart is somehow a mixture between the traditional "Excel" 
type chart UI and something new. But to make it a really powerful and useable 
charting engine I have to following proposel of charting UI, that would 
incorporate the KD Chart engine:

UI idea:
----------
In many modern applications the so-called property toolboxes have been 
introducued, probably most well known is the property view of the QT designer 
(I don't have to explain this, do I :-) 
Anyway, having such a tool view for a chart would offer a concise access to 
all the features and settings of the chart. Property hierarchies could help 
group things that are usually displayed in a dialog box:

Example: A chart needs a title, which can be drawing with the following 
information
- the text itself (rich-text with formatting)
- the title frame (x, y position and width and height)
- the text alignment in this frame (left, right, center etc.)
- the text rotation (degrees)

All these settings would show up in the folded "title" property of the chart.

The major advantage of this approach would be to have ALL settings in one 
place (easy to learn and use) and it is very easy to add new features and 
settings (easy to maintain). There is no longer a dialog-box-confusion and in 
general the creation of a chart should be much faster and more simple.

Now my question is, would it be possible to change the UI of KChart in such a 
way that the chart creation process (steps 1..4) can be incorporated and 
secondly to have a "property view" in the program?

I would volunteer to program that but please tell me your thoughts about this 
beforehand.

Thanks - Andreas

PS: I'm pretty sure that the KD chart engine can handle most commonly used 
chart types and settings, but I was wondering if it can show logarithmic 
scales and display colour maps?


_______________________________________________
koffice-devel mailing list
koffice-devel@mail.kde.org
http://mail.kde.org/mailman/listinfo/koffice-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic