Pretty cool.
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?
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.
- I would just call the class RTGrapher
- I do not quite understand how to distinguish the difference between
DataSet and StackedDataSet.
Cheers,
Doru
On Mon, Jan 5, 2015 at 12:22 AM, Alexandre Bergel <alexandre.bergel(a)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:
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.
-=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-=
-=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-=
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:
-=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-= -=-=-=-=-=-=
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
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
--
www.tudorgirba.com
"Every thing has its own flow"