[R] Simple categorical scatter plot

Jim Lemon jim at bitwrit.com.au
Thu Sep 23 14:19:27 CEST 2010


On 09/23/2010 09:38 PM, Richard DeVenezia wrote:
> New to R.  I am trying to create a simple xy plot wherein the line
> segment color is determined by a categorical column
>
> The following does not change colors for me, probably because I don't
> quite have a handle on either functions or value mapping syntax.
> ----------
> time<- c(1, 2, 3, 7,10,11,14,16,20)
> pressure<- c(0,10,20,20,50,18,60,65,90)
> status<- c(0, 0, 1, 1, 1, 0, 3, 3, 3)
> measures<- c(time,pressure,status)
>
> attach(measures)
>
> statusColor<- function (x) {
>    if (x==0) return ("green")
>    if (x==1) return ("orange")
>    if (x==2) return ("pink")
>    if (x==3) return ("red")
> }
>
> par(mfrow=c(3,2))
> plot(time,pressure,type="l")
> plot(time,pressure,type="l")
> plot(time,pressure,type="l")
> plot(time,pressure,type="l")
> plot(time,pressure,type="l",col=statusColor(status))
> plot(time,pressure,type="l")
> ----------
> Warning message:
> In if (x == 0) return("green") :
>    the condition has length>  1 and only the first element will be used
>
Hi Richard,
Look at the color.scale.lines function in the plotrix package.

Jim



More information about the R-help mailing list