Re: ListPlot ColorFunction
- To: mathgroup at smc.vnet.net
- Subject: [mg99134] Re: ListPlot ColorFunction
- From: mike.honeychurch at gmail.com
- Date: Tue, 28 Apr 2009 04:44:27 -0400 (EDT)
- References: <gt3tma$npk$1@smc.vnet.net>
On Apr 27, 4:25 am, "Serych Jakub" <Ser... at panska.cz> wrote:
> Dear Mathematica users,
> first let me thank you for many nice zigzag solutions from my previous post.
>
> Today I have another question. I need to highlight some data points in
> ListPlot by changing their color. How to do it? I tried the similar solution
> which somebody have sent me time ago for the same problem which I had with
> Plot, but it doesn't work with ListPlot.
>
> In the example below I'm trying to make the zero points Red and all other
> Blue.
>
> ListPlot[{9, 4, 1, 0, 0, 0, 1, 4, 9}, Filling -> Axis,
> PlotStyle -> PointSize[0.02],
> ColorFunction -> (If[# == 0, RGBColor[1, 0, 0], RGBColor[0, 0, 1]]=
&)]
>
> Thanks in advance for any help
>
> Jakub
ColorFunction only works with Joined->True. Also your index should
have been #2 instead of # in any case.
I'm sure there must be an easier way to do this, but this works:
list = Flatten@
MapIndexed[{If[#1 == 0, RGBColor[1, 0, 0], RGBColor[0, 0, 1]],
Point[Reverse[{#1, #2[[1]]}]]} &, {9, 4, 1, 0, 0, 0, 1, 4, 9}];
Graphics[{AbsolutePointSize[6], list}, Frame -> True]
Mike