Hi Alex,
In Eyesee, we have the concept of composite diagrams i.e. you can have
multiple charts in the same diagram with individual y axes (see attached
screenshot). This is a handy concept because not only you could have two
charts on the same diagram but each chart has its own axis. For comparing
disparate values, this is convenient because one does not need to think
about normalizing Y values of charts to the same scale. One example could
be showing trends of software metrics over time.
I saw that you ported more code from Charter to Grapher so I am having a
look at the examples. Is it possible to have composite chart diagrams with
Grapher? Do you plan to add this feature?
Here is a exemplary script that illustrates the need for composite diagrams:
| grapher minDate ds random dates grapherBlock|
dates := (Array with: Date today with: Date yesterday with: Date tomorrow)
collect: #asDateAndTime.
minDate := dates min.
random := Random seed: 10.
grapher := RTGrapherBuilder new
extent: 300 @ 200;
yourself.
grapherBlock := [:index |
ds := RTDataSet new.
ds interaction popup.
ds dotShape ellipse color: (Color red alpha: 0.5); size: 10.
ds points: dates sorted;
x: [ :aDate | aDate asUnixTime - minDate asUnixTime ];
connectColor: (Color random alpha: 0.5);
y: [ :d | (random nextInt: 100) * index].
grapher add: ds].
100 to: 103 do: grapherBlock.
1 to: 3 do: grapherBlock.
grapher axisConfiguration noDecimals.
grapher axisY.
grapher axisConfiguration
labelRotation: -30;
title: '';
numberOfLabels: dates size - 1;
labelConvertion: [ :v | (DateAndTime fromUnixTime: v + minDate asUnixTime)
asDate ] .
grapher axisX; build.
grapher view open
regards,
Usman
[image: Inline image 2]
[image: Inline image 3]
[image: Inline image 1]