XYcolor plots

Hi Folks --

The Colored XY plot feature has the potential to be extremely
useful. I can give you a long list of important use-cases
if you want (see e.g. below).

Right now it is marginally useful. The main drawback is lack
of control of the Z axis, i.e. the color. Different Z values
result in different colors, but the mapping from Z value to
color is undocumented and inscrutable.

The documentation for Colored XY plots, in its entirety, says:

10.3.4.  Colored XY Plots

Work in Progress


Suggestion: It would be great if the Z axis would accept *strings*
like this:
        "#00ff00"               simplest case: solid green
        "#00ff0040"             green at 25% opacity
        "#ff0000,#0000ff"       red outline, blue fill

Users who want to plot numerical data can construct their own
colormap consisting of an array of strings, then apply the
offset() function.

Once the dust settles, it would be nice to document the
Colored XY plot feature.

Here is one use-case among many:

Suppose we have a QAM64 modem. There are 64 possible codes
that could be sent, each with an X,Y value. At the receiver
we would like to plot the data. The X,Y position is given
by the voltages as received (including noise), and the color
is determined by what the symbol was /supposed/ to be. That
way we can see where the category boundaries are. We can
see to what extent a given symbol is encroaching on another

It would be unsatisfactory to implement this as 64 separate
XY plots for multiple reasons. First, that would be grossly
laborious. What's worse, if the red plot is in front, that
would put *all* the red points in front, which is not what
we want. Instead, we want the Z-order to be determined by
the order in which the symbols were received.

Additional remarks:

*) Do not let the perfect be the enemy of the good. I can
happily live without the following creeping features.

*) Creeping feature:

 "#ff0000,#0000ff,3,5.5"  red outline, blue fill, shape 3, size 5.5

This would allow the marker shape (circle, square, diamond,
...) to be determined on the fly, and also the marker size.

This would allow a Colored XY plot to do everything a Bubble
plot does, and more.

*) I'm not sure, but I wonder whether it might be better to
put the information in 4 columns rather than in a single Z
column. That is, separate columns for outline color, fill
color, marker shape, and marker size. Hmmmm.

*) Creeping feature:

As for the lines, as opposed to the symbols: Let the line
segment from point 1 to point 2 be a linear gradient, sweeping
from the point-1 color to the point-2 color. Anybody who wants
uniform-color segments can plot two points at each X,Y location
(ending-point and re-starting-point).

*) Creeping feature:

One could imagine other strings, perhaps X11 color names
such as DarkGoldenrod4, or perhaps SVG color names (which
are inconsistent with the X11 names) ... but for my purposes 
names would be less useful than hex strings. I can compute
the hex strings as a function of the data using dec2hex(),
but I can't compute the names.

I suppose the names are harmless, and they will appeal to
casual users (as opposed to power users). However, they
are neither necessary nor sufficient. They are not a viable
substitute for the hex strings.


So, how hard would it be to implement color-strings?

Does anybody have any better ideas along these lines?

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]