Re: Color names and the 10 elementary colors?
- To: mathgroup at smc.vnet.net
- Subject: [mg67575] Re: [mg67528] Color names and the 10 elementary colors?
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Sat, 1 Jul 2006 05:12:03 -0400 (EDT)
- Reply-to: hanlonr at cox.net
- Sender: owner-wri-mathgroup at wolfram.com
Needs["Graphics`"]; All Colors and GrayLevels: mc = DeleteCases[Select[Names[], (Head[ToExpression[#]] == RGBColor || Head[ToExpression[#]] == GrayLevel) &], _?(# == "System`Convert`MathMLDump`$defaultColor" || # == "se" &)]; Colors and GrayLevels not in AllColors: Complement[mc,AllColors] {AquamarineMedium,Black,Blue,BlueLight,BlueMedium,Brown,Cadet,CadmiumRedDeep,\ CadmiumRedLight,CadmiumYellowLight,CobaltVioletDeep,CoralLight,Cyan,\ GoldenrodDark,GoldenrodLight,GoldenrodPale,Gray,Green,GreenDark,GreenPale,\ KhakiDark,MadderLakeDeep,Magenta,NaplesYellowDeep,OliveGreenDark,Orange,\ OrchidDark,OrchidMedium,Pink,PinkLight,Purple,PurpleMedium,Red,SeaGreenDark,\ SeaGreenLight,SeaGreenMedium,SkyBlueDeep,SkyBlueLight,SlateBlueDark,\ SlateBlueLight,SlateBlueMedium,SlateGrayDark,SlateGrayLight,SpringGreenMedium,\ SteelBlueLight,TurquoiseDark,TurquoiseMedium,TurquoisePale,VioletDark,\ VioletRedMedium,VioletRedPale,ViridianLight,White,Yellow,YellowLight} Names["*Green*"] {ChromeOxideGreen,CinnabarGreen,CobaltGreen,DarkGreen,DarkOliveGreen,\ DarkSeaGreen,EmeraldGreen,ForestGreen,Green,GreenDark,GreenishUmber,GreenPale,\ GreenYellow,LawnGreen,LightSeaGreen,LimeGreen,MediumSeaGreen,\ MediumSpringGreen,OliveGreenDark,PaleGreen,PermanentGreen,SapGreen,SeaGreen,\ SeaGreenDark,SeaGreenLight,SeaGreenMedium,SpringGreen,SpringGreenMedium,\ YellowGreen} If you convert this to InputForm the string quotes will be visible. Bob Hanlon ---- AES <siegman at stanford.edu> wrote: > When I recently inquired about using the names of Mathematica colors > ("CinnabarGreen", etc.) as label strings in a series of test plots, > several responses proposed that I needed to manually input the names in > quotes. Brian Higgins suggested, however, a terse but somewhat arcane > way to get color names as strings together with the corresponding RGB > values with the Input line > > allColorNames = > ({#1, ToColor[ ToExpression[#1], RGBColor]}&) /@ AllColors; > > so that the Input > > allColorNames[[4]] > > produces the Output > > { Apricot, RGBColor[1., 0.340007, 0.129994] } > > (although his Output showed quotes around "Apricot" and mine doesn't.) > > Since my objective was to test all varieties of Green, I added to this a > more crudely programmed statement to generate a list of all the green > color names and color values, viz. > > allGreens={ }; > Do[ > If[ StringMatchQ[ allColorNames[[k,1]], "*Green*" ], > AppendTo[ allGreens, allColorNames[[k]] ] ], > {k, 1, Length[ allColorNames ]} ]; > > This works fine -- until you notice that just plain "Green" itself is > not in the resulting list. In fact, Green (along with Red, Blue, Brown, > Orange, and 4 or 5 other "elementary colors") is not in AllColors. > > I believe in earlier versions of Mathematica one had to use Graphics`Colors` to > access even these elementary colors, and so they were presumably once > included in AllColors (?); and I think I've learned somewhere that 10 or > so of these elementary colors are now included within "plain > Mathematica" and no long require calling the Graphics`Colors` package. > But: > > 1) I'd sure like to understand the logic of not continuing to use these > colors in AllColors nonetheless. Removing them seems a confusing and > less than helpful choice to me at any rate. And, > > 2) Where -- or more important, how -- can the nonexpert user get at the > list of these elementary colors? > > As a challenge, try invoking online Help on "Color" or "Colors" or any > one of the elementary color names, and see if, using no more than 5 > subsequent mouse clicks within the Help screen, no typing, and no > pre-existing expert knowledge, just "common sense", you can find your > way to the list of those colors. >