Re: Creating new ColorFunction / ColorDataFunction
- To: mathgroup at smc.vnet.net
- Subject: [mg106904] Re: Creating new ColorFunction / ColorDataFunction
- From: Luci Ellis <luci at verbeia.com>
- Date: Tue, 26 Jan 2010 06:42:05 -0500 (EST)
- References: <hjeqa8$frg$1@smc.vnet.net> <hjh82e$qvh$1@smc.vnet.net>
On 2010-01-24 21:40:14 +1100, Sjoerd C. de Vries said: > Hi Luci, > > The following is an example of the defintion of an indexed color > function: > > ColorDataFunction[10,"Indexed",List[1,11,1], > Function[Part[List[ > <Snip> > Mod[Floor[Slot[1]],11,1]]]] > > Cheers -- Sjoerd > > On Jan 23, 2:33 pm, Luci Ellis <l... at verbeia.com> wrote: >> Dear all, >> I'm putting together a package to automate some of the specific time >> series and bar chart styles used by my employer. Ultimately I hope to >> be able to set it up as a palette/package combination to provide a GUI >> that can used in Player Pro. >> >> There are many things I am still struggling with. One of them is how to >> define standardised indexed color schemes different to the ones that >> come built into Mathematica. The idea is that users could choose one of >> our standard sets of colors in a (say) ColorScheme option to the >> XYZLineChart and XYZBarChart functions I have written, where XYZ is the >> acronym of my employer, which you can probably guess by Googling. >> >> In other words, what I'm looking for is a way to define XYZColors[n] as >> an indexed color scheme, so that: >> >> XYZLineChart[data, ColorScheme->XYZColors[3] >> PlotStyle->{Directive[AbsoluteThickness[2],Dashed], >> AbsoluteThickness[1]}] >> >> results in >> >> DateListPlot[data, Joined->True, PlotStyle->{Directive[XYZColors[3][1], >> AbsoluteThickness[2],Dashed], Directive[XYZColors[3][1], >> AbsoluteThickness[1]] } , >> multiple_other_options_defined_in_XYZLineChart] I now realise that Sjoerd's post doesn't contain the full solution. It is the definition for an _existing_ indexed color scheme already defined in Mathematica. I would like to define new ones, perhaps with a different "class" (here, XYZ), or alternatively as an additional "Indexed" color scheme. There just doesn't seem to be a way to extend the Mathematica color scheme facility with schemes that work the same as the built-in ones. XYZColors1 = ColorDataFunction["XYZ1", "XYZ", List[1, 5, 1], Function[Part[List[ RGBColor[92./255, 240./255, 251./255], RGBColor[250./255, 104./255, 35./255], RGBColor[169./255, 174./255, 250./255], RGBColor[17./255, 238./255, 35./255], RGBColor[255./255, 71./255, 251./255] ], Mod[Floor[Slot[1]], 5, 1]]] ] Any suggestions? Regards, Luci