From koffice-devel Mon May 05 08:41:23 2003 From: Andreas Nicolai Date: Mon, 05 May 2003 08:41:23 +0000 To: koffice-devel Subject: Re: KChart development (was: KTouch development) X-MARC-Message: https://marc.info/?l=koffice-devel&m=105214668605564 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