selecting a pallete of unique colors

D

Denis McMahon

I think you're going to have a hard time coming up with 50
distinguishable colors. I've had trouble with more than about 8
on a graph (plus 2 for background and axis markings) of mail traffic
on different servers. The narrow lines on a graph didn't help the
situation.

Yeah, I have a solution which uses two colour icon files (filled
foreground shape on background) which I sent him php for.

Triangle (apex down), Pyramid, Diamond, Square, Pentagon, Hexagon,
Circle Square.

24 colour combinations using the vga colours excluding:

a) white, black, grey and silver
b) any combination where both foreground and background are from the
"bright" half
c) any combination where both foreground and background are from the
"dull" set
d) any combination where the foreground and background colour both have
a non-zero value in the same element (r, g or b)

It may not be a perfect set of icons, but it gives 192 to start with.

Rgds

Denis McMahon
 
M

matt

(e-mail address removed):




Agreed! The way I took the colors I am currently using is of a pallete of
X11 colors. Before that I was toying with random RGB values. But the issue
always is perceptual mapping.

Two tuples can be both 10% off in some RGB-diff metric but humans might
regard one pair as "close" and the other as "different". That's the
challenge I am thinking about.

I lost the post among all the mindless topicality chatter here, but a
very good point to consider (credit to the original poster, whoever
that was...) is the quality of the monitor will have a big impact on
the perceptual difference between colors. We've got a conference room
projector at my office that displays nearly indistinguishable pinks
and greens, colors that are perceptually very different on my LCD
monitor at my workstation.

Still, a good starting point may be an algorithm that can plot n
equidistant points at a maximum distance from each other in a 3-
dimensional space of fixed size. It seems like the sort of thing that
should have an algorithm already, but I have no idea where you'd find
such a thing. Any math majors in the group?
 
A

Andy Dingley

Still, a good starting point may be an algorithm that can plot n
equidistant points at a maximum distance from each other in a 3-
dimensional space of fixed size.  

It's not a question of space, it's a question of _which_ space. This
problem is trivially solved for 216 values in the RGB gamut - just use
the old "palette safe" set, which was an equispaced 6×6×6 set in an
orthogonal RGB space. However RGB isn't a good perceptual space,
you're a lot better using HSV, and slicing the hue axis (which we're
more sensitive to) more closely than the saturation or value axes.

Note also that HSV is a modulo space along H (values wrap round) and
bounded along S, so as a "space" it's actually cylindrical. Even more
subtle versions are biconical!
 
R

Rahul

I lost the post among all the mindless topicality chatter here, but a
very good point to consider (credit to the original poster, whoever
that was...) is the quality of the monitor will have a big impact on
the perceptual difference between colors. We've got a conference room
projector at my office that displays nearly indistinguishable pinks
and greens, colors that are perceptually very different on my LCD
monitor at my workstation.
Thanks for the tip Matt!

I've noticed the same thing. Even for something simple like powerpoint
slides I've seen presenters use colors for graph legends that are clearly
distinguishible on their PC's / Laptops but totally messed up on the
projectors. Anecdotally, the PC-PC, PC-Laptop or Laptop-Laptop mismatch is
not so drastic but when projectors enter the equation the colors just go
awry. Maybe it is the difference between additive and subtractive colors?
Just a speculation.

Is there a fundamental solution to this color mis-match issue though? A
long time ago I remember seeing Adobe or Pantone or some such company sell
a color standardization software for printing. Is there an equivalent color
profile normalizer for screens and projectors?
 
M

matt

It's not a question of space, it's a question of _which_ space.  This
problem is trivially solved for 216 values in the RGB gamut - just use
the old "palette safe" set, which was an equispaced 6×6×6 set in an
orthogonal RGB space.

It's not really a collection of equidistant points. FFFFFF is as far
from FFFFCC as FFFF99 is, however, FFFFFF and FFFF99 are twice as far
away from each other. Again, I'm no math major, but shortly after my
post I realized that this would be an impossible task in a 3D space
for n > 3. I think you're right, however...equispaced is a more
appropriate goal.
However RGB isn't a good perceptual space,
Agreed.

you're a lot better using HSV, and slicing the hue axis (which we're
more sensitive to) more closely than the saturation or value axes.

Note also that HSV is a modulo space along H (values wrap round) and
bounded along S, so as a "space" it's actually cylindrical.  Even more
subtle versions are biconical!

Any chance you could link to further reading? This conversation is
going to quickly exceed my ability to contribute unless I study up a
bit :)
 
J

Jeff North

| [email protected]:
|
| > Yeah, I have a solution which uses two colour icon files (filled
| > foreground shape on background) which I sent him php for.
|
| Thanks a lot Denis! That looks very useful already.
|
| For those who might be interested here's the set of icons based on the php
| code that Denis wrote:
|
| http://dl.dropbox.com/u/118481/denis_icons.jpg
|
| And then this is the prototype webpage (also thanks to Denis!)
|
| http://dl.dropbox.com/u/118481/denis_server_farm.jpg

In the image (denis_server_farm) point out the corresponding jobs for
server 10,30 and 40. It is difficult to do. If a server can run more
than one job, how are you going to display it in the example that you
have given?

If you are trying to create a dashboard of server/job status then this
needs to be much easier to read and understand.

I think that you need to ask yourself - am I tracking the use of the
servers or tracking which jobs are running on the servers.

If the former then, instead of all these colours and symbols, I would
group the servers by area. I am assuming, due to the number of
servers, that they are rack mounted so each row could be given a
colour background. Then display the job(s) that the server is running
either by number, colour or symbol alongside the server number.

If tracking by job then list the jobs in the left column and display
which server(s) are being used for that job.

More considerations:
if one or more servers are off-line how are you going to indicate this
within your display?
You might want to store this information to a database to identify
trends in the server loads (some servers might be doing more work than
others therefore the load balance isn't correct).
What if you want to display more information i.e. CPU load of each
server.

HTH
 
T

Twayne

In
Rahul said:
This is more of a design and perception question so not
sure what's a good group to post it on. I'm trying to
generate a automated php status page for user-jobs running
on our server-farm. Like so:

http://dl.dropbox.com/u/118481/web_colors.jpg

Each server name (eu001-eu261) is associated with exactly
one jobnumber. But some jobs can run across many servers.
i.e. number of jobs < number of servers. Many jobs use
multiple servers.

I tried loading a sample of HEX color values but many send
up being so close to each other that often it gives an
effect where servers seem to have the same color when, in
fact, they have a different job that just randomly got
assigned a similar color.

Is there a way to get a pallate of 50 or so fairly unique
(to perception) colors?

I'm not sure why you want so many colors, but for consistancy you should
stick to browser-safe colors so that they won't show differently from
machine to machine for one color.

HTH,

Twayne`
 
M

Michael Fesser

..oO(Twayne)
I'm not sure why you want so many colors, but for consistancy you should
stick to browser-safe colors so that they won't show differently from
machine to machine for one color.

We're not in the 1980s anymore.

Micha
 
R

rf

Twayne said:
In

I'm not sure why you want so many colors, but for consistancy you should
stick to browser-safe colors so that they won't show differently from
machine to machine for one color.

That was not the reason for browser safe colours. Nothing to do with it in
fact.
 
R

Rahul

In the image (denis_server_farm) point out the corresponding jobs for
server 10,30 and 40. It is difficult to do. If a server can run more
than one job, how are you going to display it in the example that you
have given?

Thanks Jeff! All very valid points. I guess I've a problem far tougher
than my ability to code it in php. :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,078
Messages
2,570,570
Members
47,204
Latest member
MalorieSte

Latest Threads

Top