A CPPlotSymbol class should be created that knows how to draw symbols (crosses,
squares,
circles etc) on a scatter plot. Symbols can be string based, vector based
drawings, or even an
image (CGImageRef).
CPPlotSymbol probably should be an abstract class, with subclasses for each
mode of symbol (eg
text, image, etc).
One question is whether it would be worth making each symbol a separate layer.
This could be
used to create some cool animation effects, but for large datasets, may be a
performance
problem. One option would be to have two different modes, and only use separate
layers for
each symbol if requested by the user. Perhaps the first pass should just use a
layer per symbol.
(We don't want to preoptimize).
Plot symbol classes should have class methods to easily create standard
symbols, but offer
constructors to generate custom symbols. Eg.
+(id)crossPlotSymbol;
+(id)circlePlotSymbol;
Symbols would also have a size property (CGSize), and comply with NSCopying.
The reason for
the latter is that the user will probably create a symbol object, and pass this
as a prototype to
the plot. The plot will copy the symbol, like an NSCell, to create the various
points on the plot.