I made a simple, if sometimes murky, color chart to help me pick colors for backgrounds, but wasn't really happy with the odd colors my subset showed me.
After reading Colormatter's Color Theory and Colours on the Web and some of my own thoughts, I think I have a better understanding of what I wanted and how to get it. Considering screen-based color using the additive RGB model, you get a cube. Think of a die. Hold it like a diamond with two fingers holding it on two corners. If you are holding the black (#000;) and white (#FFF;) corners, the six others are red (#F00;), yellow (#FF0;), green (#0F0;), cyan (#0FF;), blue (#00F;), and violet (#F0F;).
My first color chart simply cut the cube into slices and showed the cross section. To get bright, full colors, you need to follow the edges between the corners. Then you get a bright rainbow chart, or what I call the Roy G. Biv chart. Moving from a primary or secondary color to black gives you shades and from a color to white gives you tints.
This code was helpful.
For my easy access: