Even if the actual code to get this done is different from the one usually used for position="stack", this is only an implementation detail. IMHO, the "intent" is the same for the user so the user interface should also stay the same. This means that:
- I would personally prefer position="stack" over stackgroups=TRUE
- position="stack" should be the default, and the current behaviour when aligning from the x or y axis should be what happens when position="identity"
- with position="identity", when aligning from the center, the dots should be laid out independently for each level of the factor (maybe they already are but there's no example here).
In addition, while I think that the behaviour of your geom regarding colour and fill is the correct one, it is different from that of geom_point, which is what people will associate it with the most. So maybe you could consider making an exception to map colour to the fill+stroke of your circles when the default shape is used. If, at some point, other shapes become available, then this might be reconsidered.
Thanks again for your hard work, I love dotplots ;)
Jean-Olivier Irisson
---
Observatoire Océanologique
Station Zoologique, B.P. 28, Chemin du Lazaret
06230 Villefranche-sur-Mer
Tel: +33 04 93 76 38 04
Mob: +33 06 21 05 19 90
http://jo.irisson.com/
Even if the actual code to get this done is different from the one usually used for position="stack", this is only an implementation detail. IMHO, the "intent" is the same for the user so the user interface should also stay the same. This means that:
- I would personally prefer position="stack" over stackgroups=TRUE
- position="stack" should be the default, and the current behaviour when aligning from the x or y axis should be what happens when position="identity"
- with position="identity", when aligning from the center, the dots should be laid out independently for each level of the factor (maybe they already are but there's no example here).
In addition, while I think that the behaviour of your geom regarding colour and fill is the correct one, it is different from that of geom_point, which is what people will associate it with the most. So maybe you could consider making an exception to map colour to the fill+stroke of your circles when the default shape is used. If, at some point, other shapes become available, then this might be reconsidered.
I'm not saying that you should reuse any of the code behind position_stack(), I'm just suggesting that the *interface* should stay the same, even if it calls completely custom code (if that's possible of course). From the point of view of a user, when one wants to stack stuff, one uses position="stack" and that's the only thing one should have to worry about IMHO.
> In addition, while I think that the behaviour of your geom regarding colour and fill is the correct one, it is different from that of geom_point, which is what people will associate it with the most. So maybe you could consider making an exception to map colour to the fill+stroke of your circles when the default shape is used. If, at some point, other shapes become available, then this might be reconsidered.
>
> Well, the geom_point behavior is already inconsistent, and adding a similar but slightly different special case on top of that ('colour' controls fill unless 'fill' is also specified) could make it even more confusing, so I think it should stay the way it is. At least with geom_point, the change in behavior of colour/fill happens only when you specifically ask for a different point shape. Maybe in the future geom_point will be fixed. :)
OK. Now we need to convince Hadley to change geom_point ;)