GiovineItalia / Gadfly.jl

Crafty statistical graphics for Julia.
http://gadflyjl.org/stable/
Other
1.9k stars 251 forks source link

Aesthetics based on shape #66

Open dcjones opened 11 years ago

dcjones commented 11 years ago

In particular for the point geometry. See Wilkinson p. 281 which cites several others.

dcjones commented 9 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. symbology

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!

StefanKarpinski commented 9 years ago

Hah, that's a pretty entertaining problem. I don't think that these are visually distinct enough though.

dcjones commented 9 years ago

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:

symbology

StefanKarpinski commented 9 years ago

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.

papamarkou commented 9 years ago

I agree, circles, elllipses, squares are pretty common to have. R's pch palette may also be useful as a guide.

joshjob42 commented 9 years ago

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.

tbreloff commented 9 years ago

See: https://github.com/tbreloff/Plots.jl/issues/12

tbreloff commented 9 years ago

Also see: https://github.com/tbreloff/Plots.jl/issues/45

bjarthur commented 7 years ago

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.