Open dcjones opened 11 years ago
All the color palettes in Gadfly are generated using rules, rather than being hand selected. I wanted to do the same thing with symbols. Here's a first a attempt at an infinite symbol engine, made by just enumerating circuits on complete graphs.
I'm not really satisfied with that idea, so I'm going to try some other ideas. This is a really fun problem, so if anyone else would like to take crack at it, feel free!
Hah, that's a pretty entertaining problem. I don't think that these are visually distinct enough though.
Yeah, it's surprising hard to come up with a rule that yields more than a few glyphs that are distinguishable at small sizes. Unsatisfactory attempt 2:
What I feel is notably missing here is circles (filled, unfilled), ellipses (ditto), squares, etc. These have different kinds of geometries whereas these unsatisfactory attempts all have similar kinds of geometries. I do kind of feel like there might be a finite set that's as good as you can do given the way our perception works.
I agree, circles, elllipses, squares are pretty common to have. R's pch
palette may also be useful as a guide.
I'd like to bring some more attention to this one. I'm not adept enough at Compose.jl, etc. to really do this. I can try to work on it to some extent.
It's just that for some stupid reason editors insist on figures being distinguishable in black and white. Which is monstrously stupid in my opinion (goodbye a whole dimension of visual information) but it's the case. I'd very much like to not have to resort to recreating all my plots in MATLAB if I could help it.
Also, I don't think it's necessary to be able to generate arbitrarily many visually distinguishable objects. If you need that many dozens, you should break the data into blocks and use the color dimension. But having, say, 20 distinguishable shapes seems reasonable. If these need to be hard-coded, then I don't see much problem there, really, even though it's not ideal. You can always go in and change the way you pick/generate shapes later. I doubt that many people would complain if the particular shapes in their figures changed, so long as their figures still plotted fine after the change.
should we close this now that we have https://github.com/GiovineItalia/Gadfly.jl/blob/master/src/shapes.jl ? only thing missing in my mind is a way to have them be opened or closed.
In particular for the point geometry. See Wilkinson p. 281 which cites several others.