Hi guys,
I want to dome basic plotting with EyeSee in Pharo 1.4, and try to
imitate the following histogram produced with matplotlib:
http://biopython.org/DIST/docs/tutorial/images/hist_plot.png
which was taken from 94 samples rendered with 20 bins. I've tried this
script including the same models:
| diagram |
diagram := ESDiagramRenderer new.
diagram
histogram
models: #(740 753 748 744 733 718 730 704 740 709 700 726 753 699 658
752 726 765 755 742 762 745 750 731 741 740 727 711 743 727 757 770 767
759 750 788 774 789 688 719 743 737 728 740 696 732 731 735 720 740 629
572 587 700 636 716 592 716 733 626 737 740 574 594 610 730 641 702 733
738 736 732 745 744 738 739 740 745 695 745 743 730 706 744 742 694 712
715 688 784 721 703 744 592);
property: [:each | each ];
numberOfIntervals: 20;
rotatedLabels: true;
yAxisLabel: 'Count';
xAxisLabel: 'Sequence length (bp)';
regularAxis;
addXDecorator: ESValueLabelDecorator new.
^ diagram open
but I'm experimenting some limitations that you may know better:
1) Cannot make both x and y labels to be displayed.
2) In the X axis, matplotlib seems to take only significant interval.
3) Also tried with different decorators (ESValueLabelDecorator,
ESRangeLabelDecorator, ESRegularTickDecorator, etc) but it didn't changed.
Any hints to overcome this?
Best regards,
Hernán
Hi,
I have a problem with FuelMoose:
- I have an MSE produced by VerveineJ.
- Import it into Moose 4.7
- I export it with FuelMoose
- But, after I import it back I get a DNU from the model. The reason
seems to be that FuelMoose provides a property value (e.g., a method
signature) to the wrong property slot (e.g., the package reference).
- I do not know if it's relevant, but I do this on Windows 7
Originally, I suspected that somehow Fame messes up properties, but I
tried to export and load the same model using the MSE mechanism and
that works properly.
So, I would need help. If someone has time to look into this, I can
provide the model privately.
Cheers,
Doru
--
www.tudorgirba.com
"Every thing has its own flow"
For a long time I have had the code below linking Magritte-Roassal.
Originally I had expected ":view" to hold aROView, and it was a surprise
when I found out held aROMondrianViewBuilder instead.
While it makes sense to have had a drop in replacement for the
Magritte-Mondrian, and it is simple to get the ROView from the
ROMondrianBuilder, it feels inelegant to have to do this each time.
---
browser transmit
from: #pane1
to: #pane2
andShow:
[ :a |
a roassal
title: 'Instance Model Full View';
painting:
[ :view :selection | | rawView |
rawView := view raw.
...etc...
]
].
---
Looking in from outside and considering long term broadening use of
Roassal outside of Mondrian, it would "feel" better if ...
andShow: [ :a | a roassal....
passed aROView as a parameter to #painting, and the Mondrian drop-in
replacement to be something like ...
andShow: [ :a | a roassalMondrian
andShow: [ :a | a roMondrian
andShow: [ :a | a mondrianBuilder
which passed aROMondrianBuilder.
cheers -ben
I was wanting to better understand how to edges are handled in Roassal
and I modified ROElementTest>>testMostSpecificParentCommonWith: as
follows to get a visual of how it works....
-----
| el1 el11 el111 el12 el2 el21 view |
view := ROView new.
el1 := (ROElement spriteOn: 1) + ROLabel.
el11 := (ROElement spriteOn: 11) + ROLabel.
el111 := (ROElement spriteOn: 111) + ROLabel.
el12 := (ROElement spriteOn: 12) + ROLabel.
el2 := (ROElement spriteOn: 2) + ROLabel.
el21 := (ROElement spriteOn: 21) + ROLabel.
el1 add: el11; add: el12.
el11 add: el111.
el2 add: el21.
view add: el1; add: el2.
ROGridLayout on: el11 elements.
ROGridLayout on: el1 elements.
ROGridLayout on: el2 elements.
ROGridLayout on: view elements.
self assert: (el1 mostSpecificParentCommonWith: el2) == view.
self assert: (el1 mostSpecificParentCommonWith: el21) == view.
self assert: (el1 mostSpecificParentCommonWith: el11) == view.
self assert: (el12 mostSpecificParentCommonWith: el111) == el1.
self assert: (el11 mostSpecificParentCommonWith: el111) == el11.
"added by ben coman"
view open.
---
I casually added the last assert and the presumed answer, but the
failure which resulted surprised me. Now I'm actually not sure what the
result should be, or even whether it makes sense for an edge to be
defined between a node and its subnode. I'd be interested in your thoughts.
cheers -ben
Alexandre wrote:
>Doru told me that there is a Monticello importer in VisualWorks, but I haven't tried it.
I have. Not so easy to make work. There is a screencast, but it avoids the difficult
parts.
Stephan
Hi Alexandre,
That looks good. I ran into some trouble when trying this with multiple packages.
The VW5PackageExporter is very specialized for Seaside. If it notices classes
starting with WA or with a superclass starting with WA it adds Seaside to to the
imports, and uses a hack on Behavior to add Seaside.
visualworksName
^ (#('WA' 'SU' 'CT') includes: (self name copyFrom: 1 to: 2))
ifTrue: ['Seaside.', self name]
ifFalse: [self name]
I was able to work around that.
Stephan
Hi Alex,
I have already planned to migrate my tools to use Roassal...
But for now I have to use what we have with Mondrian because we are preparing an evaluation on our tool in Pharo1.4.
I suddenly have a problem that I do not know to detect
I draw a map with dominanceTreeLayout or forcedBaseLayout.
When the layout is dominanceTreeLayout I am getting the red rectangle with the cross. Sometimes i get it immediately or sometimes I see part of the visualization and when i move the scrollbars the red rectangle appears.
How can I debug that?, I haven't changed my code and I have no idea what is failing now
if I open the same visualization with forcedBaseLayout it works fine.
Regards,
Veronica