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