Hi Doru,

The API is interesting. As I see it, this will be limited to things like bar, plots or line graphs. For example, a spider chart will not work with this one, but it will use a builder of its own, right?

Yes. Currently, spider chart shares very little from what we have. This is why it deserves its own builder. Maybe this will change in the future, but for now it works well.
But the way, we call Kiviat what you call Spider chart. Just have a look at RTKiviatBuilder. 

Here is a screenshot for people who do not understand what we are talking about :-)

Some feedback:
- I would rename Plugin to Decorator. From your statement, "The plugin framework exposes to a plugin all the necessary to define a whole range of decorations" it seems to me that "Decorator" fits better.

Yes!
Done!

- I would just call the class RTGrapher

Yes, done!


- I do not quite understand how to distinguish the difference between DataSet and StackedDataSet.

Yeah, not easy to grasp. Consider an histogram and a scatter plot.
You will define an histogram as a list of values, e.g,. 4, 5, 6, 7
You will define a scatterplot as a list of points, e.g., 2 @ 3, 5 @ 6, …

An histogram is obtained from a list of objects, and a function Y to obtain the values.
A scatter plot is obtained from a list of objects, and _two_ functions X and Y to obtain the points.

When you do not need to specify an X, e.g., an histogram, then you need a RTStackedDataSet.
When you need to specify an X, e.g., a scatter plot, then you need a RTDataSet.

Is it clear? Maybe the vocabulary we use is not obvious. 

Cheers,
Alexandre


Cheers,
Doru



On Mon, Jan 5, 2015 at 12:22 AM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
Hi!

RTGraphBuilder went through major improvements.
- min and max may be specified. 
- plugins to add some decoration (average line, standard deviation range, ticks lines, …)

Here are some examples, with some examples, which should illustrate these points:
<Screen Shot 2015-01-04 at 8.08.05 PM.png>
Is obtained with: 
-=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= 
| b ds |
b := RTGrapherBuilder new.

ds := RTDataSet new.
ds points: (0 to: 100 by: 0.1).
ds y: [ :x | (0.1 * x) sin  ].
ds noDot.
ds interaction popupText: 'sinus'.
ds connectColor: Color blue.
b add: ds.

ds := RTDataSet new.
ds points: (0 to: 100 by: 0.1).
ds y: [ :x | (0.2 * x) cos * 2 ].
ds noDot.
ds interaction popupText: 'cosinus'.
ds connectColor: Color red.
b add: ds.

b minY: -4.
b maxY: 4.
b minX: -25.

b build.
-=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= 
 

<Screen Shot 2015-01-04 at 8.13.51 PM.png>
-=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= 

b := RTGrapherBuilder new.

ds := RTStackedDataSet new.
ds interaction popup.
ds points: #(600 470 170 430 300).
ds barShape width: 20; color: Color lightGreen.
b add: ds.

b axisX noLabel; noTick.
b axisY noDecimals.

b addPlugin: RTMeanDevVarPlugin new.
b build
-=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= 

Another example:
<Screen Shot 2015-01-04 at 8.17.51 PM.png>
-=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= 
b := RTGrapherBuilder new.
b extent: 300 @ 200.

5 timesRepeat: [ 
ds := RTStackedDataSet new.
ds noDot.
ds points: ((1 to: 500) collect: [ :i | 50 atRandom - 25 ]) cumsum.
ds connectColor: Color green.
b add: ds.
].

b addPlugin: RTMeanDevVarPlugin new.
b build.
-=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= 

The plugin framework exposes to a plugin all the necessary to define a whole range of decorations. For example, variable average lines, linear regression should be trivial to add...

Happy new year!
Alexandre
-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






--

"Every thing has its own flow"
_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev