The Grapher charting engine

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

The Grapher charting engine

abergel
Dear all,

As many of you know, Grapher is a über-cool charting engine, part of Roassal.
For people who do not know what Grapher is, here is a (compelling we hope) example:

Which is obtained by the following script:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| b colors points ds pts dec lb |
b := RTGrapher new.
colors := Array with: Color red with: Color blue.
points := OrderedCollection new.

colors do: [ :c |
ds := RTStackedDataSet new.
pts := ((1 to: 100) collect: [ :i | 50 atRandom - 25 ]) cumsum.
points add: pts.
ds points: pts.
dec := RTDevVarDecorator new.
dec moveBehind;
desviation: 0.5;
color: (c alpha: 0.3);
points: pts.
ds connectUsing: (RTLine new color: (c alpha: 0.5); width: 1 ).
b add: ds.
b addDecorator: dec.
 ].

b axisX; axisY.
b build.

lb := RTLegendBuilder new.
lb view: b view.
colors doWithIndex: [ :c :i | 
lb addColor: c text: 'Series  ', i printString ].
lb build.
b view @ RTZoomableView.
b view
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


In our grand vision of making Roassal the best visualizing engine of the Universe (we also know to be modest time to time, but not today :-), Grapher will play a very important role. We would like to stabilize Grapher and make it sure it happily fits everybody needs. You can help on it:

- When you are tempted to look at the dark side of the planet (this is where R, JFreeChart, gnuplot, D3 and all their friends live), let us know. We will make sure to make you are happy again.

- Share your wishlist with us. We already have a long todo list, but your opinion does matter and will take it seriously

- we are open to contributions, which could be financial, bug fixe, enhancement, or simply encouragement.

I am very happy to be surrounded by very smart engineers. Your encouragement are making them happy :-)

Cheers,
Alexandre, in the name of the Object Profile Team

NB: sorry for the cross-list posting, but this email is very important for us, and for you we hope.

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] The Grapher charting engine

Tudor Girba-2
Nice work.

I will reply about improvements separately.

Cheers.
Doru

On Fri, Mar 20, 2015 at 10:18 PM, Alexandre Bergel <[hidden email]> wrote:
Dear all,

As many of you know, Grapher is a über-cool charting engine, part of Roassal.
For people who do not know what Grapher is, here is a (compelling we hope) example:

Which is obtained by the following script:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| b colors points ds pts dec lb |
b := RTGrapher new.
colors := Array with: Color red with: Color blue.
points := OrderedCollection new.

colors do: [ :c |
ds := RTStackedDataSet new.
pts := ((1 to: 100) collect: [ :i | 50 atRandom - 25 ]) cumsum.
points add: pts.
ds points: pts.
dec := RTDevVarDecorator new.
dec moveBehind;
desviation: 0.5;
color: (c alpha: 0.3);
points: pts.
ds connectUsing: (RTLine new color: (c alpha: 0.5); width: 1 ).
b add: ds.
b addDecorator: dec.
 ].

b axisX; axisY.
b build.

lb := RTLegendBuilder new.
lb view: b view.
colors doWithIndex: [ :c :i | 
lb addColor: c text: 'Series  ', i printString ].
lb build.
b view @ RTZoomableView.
b view
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


In our grand vision of making Roassal the best visualizing engine of the Universe (we also know to be modest time to time, but not today :-), Grapher will play a very important role. We would like to stabilize Grapher and make it sure it happily fits everybody needs. You can help on it:

- When you are tempted to look at the dark side of the planet (this is where R, JFreeChart, gnuplot, D3 and all their friends live), let us know. We will make sure to make you are happy again.

- Share your wishlist with us. We already have a long todo list, but your opinion does matter and will take it seriously

- we are open to contributions, which could be financial, bug fixe, enhancement, or simply encouragement.

I am very happy to be surrounded by very smart engineers. Your encouragement are making them happy :-)

Cheers,
Alexandre, in the name of the Object Profile Team

NB: sorry for the cross-list posting, but this email is very important for us, and for you we hope.

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






--

"Every thing has its own flow"

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] The Grapher charting engine

HwaJong Oh
In reply to this post by abergel
is desviation a typo of deviation?

HwaJong

2015. 3. 21., 아침 6:18, Alexandre Bergel <[hidden email]> 작성:

Dear all,

As many of you know, Grapher is a über-cool charting engine, part of Roassal.
For people who do not know what Grapher is, here is a (compelling we hope) example:
<Screen Shot 2015-03-20 at 6.12.22 PM.png>
Which is obtained by the following script:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| b colors points ds pts dec lb |
b := RTGrapher new.
colors := Array with: Color red with: Color blue.
points := OrderedCollection new.

colors do: [ :c |
ds := RTStackedDataSet new.
pts := ((1 to: 100) collect: [ :i | 50 atRandom - 25 ]) cumsum.
points add: pts.
ds points: pts.
dec := RTDevVarDecorator new.
dec moveBehind;
desviation: 0.5;
color: (c alpha: 0.3);
points: pts.
ds connectUsing: (RTLine new color: (c alpha: 0.5); width: 1 ).
b add: ds.
b addDecorator: dec.
 ].

b axisX; axisY.
b build.

lb := RTLegendBuilder new.
lb view: b view.
colors doWithIndex: [ :c :i | 
lb addColor: c text: 'Series  ', i printString ].
lb build.
b view @ RTZoomableView.
b view
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


In our grand vision of making Roassal the best visualizing engine of the Universe (we also know to be modest time to time, but not today :-), Grapher will play a very important role. We would like to stabilize Grapher and make it sure it happily fits everybody needs. You can help on it:

- When you are tempted to look at the dark side of the planet (this is where R, JFreeChart, gnuplot, D3 and all their friends live), let us know. We will make sure to make you are happy again.

- Share your wishlist with us. We already have a long todo list, but your opinion does matter and will take it seriously

- we are open to contributions, which could be financial, bug fixe, enhancement, or simply encouragement.

I am very happy to be surrounded by very smart engineers. Your encouragement are making them happy :-)

Cheers,
Alexandre, in the name of the Object Profile Team

NB: sorry for the cross-list posting, but this email is very important for us, and for you we hope.

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.





_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [Moose-dev] Re: [Pharo-dev] The Grapher charting engine

abergel
Yes. Although RTDevVarDecorator is not rooted into strong maths. It was more an experiment. If you look at the class RTDevVarDecorator, you will see it is quite simple. Adding decoration in a chart made with Grapher is very simple.

Alexandre


> On Mar 23, 2015, at 12:55 AM, HwaJong Oh <[hidden email]> wrote:
>
> is desviation a typo of deviation?
>
> HwaJong
>
>> 2015. 3. 21., 아침 6:18, Alexandre Bergel <[hidden email]> 작성:
>>
>> Dear all,
>>
>> As many of you know, Grapher is a über-cool charting engine, part of Roassal.
>> For people who do not know what Grapher is, here is a (compelling we hope) example:
>> <Screen Shot 2015-03-20 at 6.12.22 PM.png>
>> Which is obtained by the following script:
>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>> | b colors points ds pts dec lb |
>> b := RTGrapher new.
>> colors := Array with: Color red with: Color blue.
>> points := OrderedCollection new.
>>
>> colors do: [ :c |
>> ds := RTStackedDataSet new.
>> pts := ((1 to: 100) collect: [ :i | 50 atRandom - 25 ]) cumsum.
>> points add: pts.
>> ds points: pts.
>> dec := RTDevVarDecorator new.
>> dec moveBehind;
>> desviation: 0.5;
>> color: (c alpha: 0.3);
>> points: pts.
>> ds connectUsing: (RTLine new color: (c alpha: 0.5); width: 1 ).
>> b add: ds.
>> b addDecorator: dec.
>> ].
>>
>> b axisX; axisY.
>> b build.
>>
>> lb := RTLegendBuilder new.
>> lb view: b view.
>> colors doWithIndex: [ :c :i |
>> lb addColor: c text: 'Series  ', i printString ].
>> lb build.
>> b view @ RTZoomableView.
>> b view
>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>>
>>
>> In our grand vision of making Roassal the best visualizing engine of the Universe (we also know to be modest time to time, but not today :-), Grapher will play a very important role. We would like to stabilize Grapher and make it sure it happily fits everybody needs. You can help on it:
>>
>> - When you are tempted to look at the dark side of the planet (this is where R, JFreeChart, gnuplot, D3 and all their friends live), let us know. We will make sure to make you are happy again.
>>
>> - Share your wishlist with us. We already have a long todo list, but your opinion does matter and will take it seriously
>>
>> - we are open to contributions, which could be financial, bug fixe, enhancement, or simply encouragement.
>>
>> I am very happy to be surrounded by very smart engineers. Your encouragement are making them happy :-)
>>
>> Cheers,
>> Alexandre, in the name of the Object Profile Team
>>
>> NB: sorry for the cross-list posting, but this email is very important for us, and for you we hope.
>>
>> --
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>
> _______________________________________________
> Moose-dev mailing list
> [hidden email]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: The Grapher charting engine

Maarten Mostert
In reply to this post by abergel

Hi Alexandre,

 

If you're heading to make "Roassal the best visualizing engine of the Universe" then what are your intentions with connecting it to the outer world ?

 

Will it remain a multiplatform toolbox ? Or are you heading towards a BI desktop or Web app ?

 

Regards,

 

Maarten MOSTERT

 

 

28 Av Alphonse Denis

83400 Hyères, France

+33 676411296 

http://stakepoint.com/

 



> "Alexandre Bergel" <[hidden email]> |

Dear all,

As many of you know, Grapher is a über-cool charting engine, part of Roassal.
For people who do not know what Grapher is, here is a (compelling we hope) example:

Which is obtained by the following script:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| b colors points ds pts dec lb |
b := RTGrapher new.
colors := Array with: Color red with: Color blue.
points := OrderedCollection new.

colors do: [ :c |
ds := RTStackedDataSet new.
pts := ((1 to: 100) collect: [ :i | 50 atRandom - 25 ]) cumsum.
points add: pts.
ds points: pts.
dec := RTDevVarDecorator new.
dec moveBehind;
desviation: 0.5;
color: (c alpha: 0.3);
points: pts.
ds connectUsing: (RTLine new color: (c alpha: 0.5); width: 1 ).
b add: ds.
b addDecorator: dec.
 ].

b axisX; axisY.
b build.

lb := RTLegendBuilder new.
lb view: b view.
colors doWithIndex: [ :c :i | 
lb addColor: c text: 'Series  ', i printString ].
lb build.
b view @ RTZoomableView.
b view
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


In our grand vision of making Roassal the best visualizing engine of the Universe (we also know to be modest time to time, but not today :-), Grapher will play a very important role. We would like to stabilize Grapher and make it sure it happily fits everybody needs. You can help on it:

- When you are tempted to look at the dark side of the planet (this is where R, JFreeChart, gnuplot, D3 and all their friends live), let us know. We will make sure to make you are happy again.

- Share your wishlist with us. We already have a long todo list, but your opinion does matter and will take it seriously

- we are open to contributions, which could be financial, bug fixe, enhancement, or simply encouragement.

I am very happy to be surrounded by very smart engineers. Your encouragement are making them happy :-)

Cheers,
Alexandre, in the name of the Object Profile Team
NB: sorry for the cross-list posting, but this email is very important for us, and for you we hope.

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.



_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: The Grapher charting engine

abergel
Hi!

If you're heading to make "Roassal the best visualizing engine of the Universe" then what are your intentions with connecting it to the outer world ?

This is a rather broad question :-)
While our visualizations are meant to run in a standard Smalltalk environment, they are exportable to HTML. Interaction are also preserved. Here are two simple examples:


And a larger and more complex example is in the file 
check the file Example.pillar.html


 Will it remain a multiplatform toolbox ? Or are you heading towards a BI desktop or Web app ?


Roassal will remain closely linked to Smalltalk (VisualWorks & Pharo).

Cheers,
Alexandre



 

Regards,

 

Maarten MOSTERT

 

 

28 Av Alphonse Denis
83400 Hyères, France
+33 676411296 

 



> "Alexandre Bergel" <[hidden email]> |

Dear all,

As many of you know, Grapher is a über-cool charting engine, part of Roassal.
For people who do not know what Grapher is, here is a (compelling we hope) example:
<855A292C-DE42-4FF5-83ED-49477CDAA250.png>
Which is obtained by the following script:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| b colors points ds pts dec lb |
b := RTGrapher new.
colors := Array with: Color red with: Color blue.
points := OrderedCollection new.

colors do: [ :c |
ds := RTStackedDataSet new.
pts := ((1 to: 100) collect: [ :i | 50 atRandom - 25 ]) cumsum.
points add: pts.
ds points: pts.
dec := RTDevVarDecorator new.
dec moveBehind;
desviation: 0.5;
color: (c alpha: 0.3);
points: pts.
ds connectUsing: (RTLine new color: (c alpha: 0.5); width: 1 ).
b add: ds.
b addDecorator: dec.
 ].

b axisX; axisY.
b build.

lb := RTLegendBuilder new.
lb view: b view.
colors doWithIndex: [ :c :i | 
lb addColor: c text: 'Series  ', i printString ].
lb build.
b view @ RTZoomableView.
b view
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


In our grand vision of making Roassal the best visualizing engine of the Universe (we also know to be modest time to time, but not today :-), Grapher will play a very important role. We would like to stabilize Grapher and make it sure it happily fits everybody needs. You can help on it:

- When you are tempted to look at the dark side of the planet (this is where R, JFreeChart, gnuplot, D3 and all their friends live), let us know. We will make sure to make you are happy again.

- Share your wishlist with us. We already have a long todo list, but your opinion does matter and will take it seriously

- we are open to contributions, which could be financial, bug fixe, enhancement, or simply encouragement.

I am very happy to be surrounded by very smart engineers. Your encouragement are making them happy :-)

Cheers,
Alexandre, in the name of the Object Profile Team
NB: sorry for the cross-list posting, but this email is very important for us, and for you we hope.

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.


<855A292C-DE42-4FF5-83ED-49477CDAA250.png>


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] The Grapher charting engine

Tudor Girba-2
In reply to this post by abergel
Hi Alex,

After the Pharo and Moose release I will get back to you with feedback.

Cheers,
Doru


On Fri, Mar 20, 2015 at 10:18 PM, Alexandre Bergel <[hidden email]> wrote:
Dear all,

As many of you know, Grapher is a über-cool charting engine, part of Roassal.
For people who do not know what Grapher is, here is a (compelling we hope) example:

Which is obtained by the following script:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| b colors points ds pts dec lb |
b := RTGrapher new.
colors := Array with: Color red with: Color blue.
points := OrderedCollection new.

colors do: [ :c |
ds := RTStackedDataSet new.
pts := ((1 to: 100) collect: [ :i | 50 atRandom - 25 ]) cumsum.
points add: pts.
ds points: pts.
dec := RTDevVarDecorator new.
dec moveBehind;
desviation: 0.5;
color: (c alpha: 0.3);
points: pts.
ds connectUsing: (RTLine new color: (c alpha: 0.5); width: 1 ).
b add: ds.
b addDecorator: dec.
 ].

b axisX; axisY.
b build.

lb := RTLegendBuilder new.
lb view: b view.
colors doWithIndex: [ :c :i | 
lb addColor: c text: 'Series  ', i printString ].
lb build.
b view @ RTZoomableView.
b view
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


In our grand vision of making Roassal the best visualizing engine of the Universe (we also know to be modest time to time, but not today :-), Grapher will play a very important role. We would like to stabilize Grapher and make it sure it happily fits everybody needs. You can help on it:

- When you are tempted to look at the dark side of the planet (this is where R, JFreeChart, gnuplot, D3 and all their friends live), let us know. We will make sure to make you are happy again.

- Share your wishlist with us. We already have a long todo list, but your opinion does matter and will take it seriously

- we are open to contributions, which could be financial, bug fixe, enhancement, or simply encouragement.

I am very happy to be surrounded by very smart engineers. Your encouragement are making them happy :-)

Cheers,
Alexandre, in the name of the Object Profile Team

NB: sorry for the cross-list posting, but this email is very important for us, and for you we hope.

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






--

"Every thing has its own flow"

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] The Grapher charting engine

Paul Baumann

Very exciting. It would be useful to know:

- what dialects and versions this is currently working for

- how this is more useful than existing solutions

- what "Roassal" is and why people should know

- how this could endure over time (license, funding, participation, etc.)

- any exceptional features  (transparency, blending, interaction, etc.)

- where to find the latest code and contibute to development

- what would keep all dialects evolving together (including Roassal)

 

The example code shows there would be a learning curve for usage. Provide default behavior that hides details like classes, connection, and building. Tools like a window builder exist to hide most of the implementation details while offering WYSIWYG configuration. You could make it easier to use and customize by implementing Grapher methods (or Spec objects) that act as guidance for configuration:

 

| grapher |

grapher := RTGrapher new.

(grapher addLineSeries

                legendName: 'Series 1';

                points: ((1 to: 100) collect: [ :i | 50 atRandom - 25 ]) cumsum;

                lineWidth: 1;

                decorator)

                                deviation: 0.5;

                                color: Color red.

(grapher addLineSeries

                legendName: 'Series 2';

                points: ((1 to: 100) collect: [ :i | 50 atRandom - 25 ]) cumsum;

                lineWidth: 1;

                decorator)

                                deviation: 0.5;

                                color: Color blue.

grapher open

 

 

Paul Baumann

 

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Tudor Girba
Sent: Wednesday, March 25, 2015 16:54
To: Pharo Development List
Cc: VisualWorks mailing list list; Moose-related development; Any question about pharo is welcome
Subject: Re: [vwnc] [Pharo-dev] The Grapher charting engine

 

Hi Alex,

 

After the Pharo and Moose release I will get back to you with feedback.

 

Cheers,

Doru

 

 

On Fri, Mar 20, 2015 at 10:18 PM, Alexandre Bergel <[hidden email]> wrote:

Dear all,

As many of you know, Grapher is a über-cool charting engine, part of Roassal.
For people who do not know what Grapher is, here is a (compelling we hope) example:

Which is obtained by the following script:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
| b colors points ds pts dec lb |
b := RTGrapher new.
colors := Array with: Color red with: Color blue.
points := OrderedCollection new.

colors do: [ :c |
ds := RTStackedDataSet new.
pts := ((1 to: 100) collect: [ :i | 50 atRandom - 25 ]) cumsum.
points add: pts.
ds points: pts.
dec := RTDevVarDecorator new.
dec moveBehind;
desviation: 0.5;
color: (c alpha: 0.3);
points: pts.
ds connectUsing: (RTLine new color: (c alpha: 0.5); width: 1 ).
b add: ds.
b addDecorator: dec.
 ].

b axisX; axisY.
b build.

lb := RTLegendBuilder new.
lb view: b view.
colors doWithIndex: [ :c :i | 
lb addColor: c text: 'Series  ', i printString ].
lb build.
b view @ RTZoomableView.
b view
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


In our grand vision of making Roassal the best visualizing engine of the Universe (we also know to be modest time to time, but not today :-), Grapher will play a very important role. We would like to stabilize Grapher and make it sure it happily fits everybody needs. You can help on it:

- When you are tempted to look at the dark side of the planet (this is where R, JFreeChart, gnuplot, D3 and all their friends live), let us know. We will make sure to make you are happy again.

- Share your wishlist with us. We already have a long todo list, but your opinion does matter and will take it seriously

- we are open to contributions, which could be financial, bug fixe, enhancement, or simply encouragement.

I am very happy to be surrounded by very smart engineers. Your encouragement are making them happy :-)

Cheers,
Alexandre, in the name of the Object Profile Team

 

NB: sorry for the cross-list posting, but this email is very important for us, and for you we hope.

 

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.

 



 

--

 

"Every thing has its own flow"




This message may contain confidential information and is intended for specific recipients unless explicitly noted otherwise. If you have reason to believe you are not an intended recipient of this message, please delete it and notify the sender. This message may not represent the opinion of Intercontinental Exchange, Inc. (ICE), its subsidiaries or affiliates, and does not constitute a contract or guarantee. Unencrypted electronic mail is not secure and the recipient of this message is expected to provide safeguards from viruses and pursue alternate means of communication where privacy or a binding message is desired.

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-dev] The Grapher charting engine

abergel
> Very exciting.

Thanks :-)

> It would be useful to know:
> - what dialects and versions this is currently working for

Roassal works on VisualWorks from version 7.4, which includes 8.0 and Pharo.

> - how this is more useful than existing solutions

As far as we are aware of, Roassal itself does not have that many competitors on VisualWorks and Pharo. However it has quite a few in the JavaScript world. Here some examples of what Roassal can do on the web:
Roassal exports visualization on the web while preserving the interaction. For example:
        https://dl.dropboxusercontent.com/u/31543901/TMP/Distribution/Example/Example.pillar.html
        https://dl.dropboxusercontent.com/u/31543901/online/WebReport/seisms.html

Roassal distinguishes itself from its competitors (e.g., D3, RaphaelJS, Protoviz) by generating HTML5 and JavaScript code. No need to rely on an external (and heavyweight) library and no need to program directly in JavaScript. In the long terms, visualizations produced in Roassal will be faster to load than if they were made with D3 and be fully made in the Smalltalk environment.

> - what "Roassal" is and why people should know

Roassal is a visualization engine. As soon as you need to visualize some data (any data), then Roassal should provide a solution. Many screenshots and videos are available here: https://www.facebook.com/ObjectProfile?ref=hl

> - how this could endure over time (license, funding, participation, etc.)

Roassal is here for long. Roassal is developed by the company Object Profile (currently it has 4 engineers). I am myself leading the company. At the same time I am professor in a Chilean University. The University is quite happy to have us working on Roassal, moreover it has no way to stop us. We also use Roassal for our research activities. So Roassal will continue to see a nice flow of smart engineers and students full of energy.

> - any exceptional features  (transparency, blending, interaction, etc.)

Roassal is build on top of Cairo, which means it inherits all the good things from it. Roassal is also quite good at handling interaction. Videos on our Facebook page demonstrate this.

> - where to find the latest code and contibute to development

Roassal is available on the cincom store. Just look for the bundle roassal2-full
Roassal is distributed under the MIT license.

> - what would keep all dialects evolving together (including Roassal)

Roassal is primarily developed in Pharo. Having Roassal on VisualWorks is a way for us to get closer to industries and businesses. Having Roassal2 on VisualWorks is still in a early phase and we hope to find some sponsors to keep our work going.
We offer service around Roassal to implement dedicated visualizations. Donation are naturally welcome (and thanks for our generous donators!).

Currently the VisualWorks port of Roassal is not polished. Since we automatically migrate code, some references are missing, and some abstract may be missing. Again, resource is here key.

>  The example code shows there would be a learning curve for usage. Provide default behavior that hides details like classes, connection, and building. Tools like a window builder exist to hide most of the implementation details while offering WYSIWYG configuration. You could make it easier to use and customize by implementing Grapher methods (or Spec objects) that act as guidance for configuration:

Yes, you are very right. This is also on our plan. It all depends on how it goes with the founding and use of Roassal.

>  
> | grapher |
> grapher := RTGrapher new.
> (grapher addLineSeries
>                 legendName: 'Series 1';
>                 points: ((1 to: 100) collect: [ :i | 50 atRandom - 25 ]) cumsum;
>                 lineWidth: 1;
>                 decorator)
>                                 deviation: 0.5;
>                                 color: Color red.
> (grapher addLineSeries
>                 legendName: 'Series 2';
>                 points: ((1 to: 100) collect: [ :i | 50 atRandom - 25 ]) cumsum;
>                 lineWidth: 1;
>                 decorator)
>                                 deviation: 0.5;
>                                 color: Color blue.
> grapher open

Thanks for your feedback. This is important for us.

Kind regards,
Aleaxndre


>  
>  
> Paul Baumann
>  
>  
> From: [hidden email] [mailto:[hidden email]] On Behalf Of Tudor Girba
> Sent: Wednesday, March 25, 2015 16:54
> To: Pharo Development List
> Cc: VisualWorks mailing list list; Moose-related development; Any question about pharo is welcome
> Subject: Re: [vwnc] [Pharo-dev] The Grapher charting engine
>  
> Hi Alex,
>  
> After the Pharo and Moose release I will get back to you with feedback.
>  
> Cheers,
> Doru
>  
>  
> On Fri, Mar 20, 2015 at 10:18 PM, Alexandre Bergel <[hidden email]> wrote:
> Dear all,
>
> As many of you know, Grapher is a über-cool charting engine, part of Roassal.
> For people who do not know what Grapher is, here is a (compelling we hope) example:
> <image001.png>
> Which is obtained by the following script:
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> | b colors points ds pts dec lb |
> b := RTGrapher new.
> colors := Array with: Color red with: Color blue.
> points := OrderedCollection new.
>
> colors do: [ :c |
> ds := RTStackedDataSet new.
> pts := ((1 to: 100) collect: [ :i | 50 atRandom - 25 ]) cumsum.
> points add: pts.
> ds points: pts.
> dec := RTDevVarDecorator new.
> dec moveBehind;
> desviation: 0.5;
> color: (c alpha: 0.3);
> points: pts.
> ds connectUsing: (RTLine new color: (c alpha: 0.5); width: 1 ).
> b add: ds.
> b addDecorator: dec.
>  ].
>
> b axisX; axisY.
> b build.
>
> lb := RTLegendBuilder new.
> lb view: b view.
> colors doWithIndex: [ :c :i |
> lb addColor: c text: 'Series  ', i printString ].
> lb build.
> b view @ RTZoomableView.
> b view
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>
>
> In our grand vision of making Roassal the best visualizing engine of the Universe (we also know to be modest time to time, but not today :-), Grapher will play a very important role. We would like to stabilize Grapher and make it sure it happily fits everybody needs. You can help on it:
>
> - When you are tempted to look at the dark side of the planet (this is where R, JFreeChart, gnuplot, D3 and all their friends live), let us know. We will make sure to make you are happy again.
>
> - Share your wishlist with us. We already have a long todo list, but your opinion does matter and will take it seriously
>
> - we are open to contributions, which could be financial, bug fixe, enhancement, or simply encouragement.
>
> I am very happy to be surrounded by very smart engineers. Your encouragement are making them happy :-)
>
> Cheers,
> Alexandre, in the name of the Object Profile Team
>  
> NB: sorry for the cross-list posting, but this email is very important for us, and for you we hope.
>  
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>  
>
>
>  
> --
> www.tudorgirba.com
>  
> "Every thing has its own flow"
>
>
> This message may contain confidential information and is intended for specific recipients unless explicitly noted otherwise. If you have reason to believe you are not an intended recipient of this message, please delete it and notify the sender. This message may not represent the opinion of Intercontinental Exchange, Inc. (ICE), its subsidiaries or affiliates, and does not constitute a contract or guarantee. Unencrypted electronic mail is not secure and the recipient of this message is expected to provide safeguards from viruses and pursue alternate means of communication where privacy or a binding message is desired.
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc