# [R] adding value labels on Interaction Plot

Dimitri Liakhovitski ld7631 at gmail.com
Wed Mar 4 21:48:03 CET 2009

```Thank you, David, however, I am not sure this approach works.
Let's try it again - I slightly modifed d to make it more clear:

d=data.frame(xx=c(1,1,1,1,2,2,2,2,3,3,3,3),yy=c(3,3,4,4,3,3,4,4,3,3,4,4),zz=c(-1.1,-1.3,0,0.6,-0.5,1,3.3,-1.3,4.4,3.5,5.1,3.5))
d[]<-as.factor(d[])
d[]<-as.factor(d[])
print(d)

interaction.plot(d\$xx, d\$yy, d\$zz, fun=mean,
type="b", col=c("red","blue"), legend=F,
lty=c(1,2), lwd=2, pch=c(18,24),
xlab="X Label (level of xx)",
ylab="Y Label (level of zz)",
main="Chart Label")

grid(nx=NA, ny=NULL,col = "lightgray", lty = "dotted",
lwd = par("lwd"), equilogs = TRUE)

legend("bottomright",c("3","4"),bty="n",lty=c(1,2),lwd=2,
pch=c(18,24),col=c("red","blue"),title="Level of yy")

The dots on both lines show means on zz for a given combination of
factors xx and yy.

# If I add this line:
with(d, text(xx,zz,paste(zz)))
It adds the zz values for ALL data points in d - instead of the means
that are shown on the graph...

Dimitri

d=data.frame(xx=c(3,3,3,2,2,2,1,1,1),yy=c(4,3,4,3,4,3,4,3,4),zz=c(5.1,4.4,3.5,3.3,-1.1,-1.3,0,-0.5,0.6))
d[]<-as.factor(d[])
d[]<-as.factor(d[])
print(d)

interaction.plot(d\$xx, d\$yy, d\$zz, fun=mean,
type="b", col=c("red","blue"), legend=F,
lty=c(1,2), lwd=2, pch=c(18,24),
xlab="X Label",
ylab="Y Label",
main="Chart Label")

grid(nx=NA, ny=NULL,col = "lightgray", lty = "dotted",
lwd = par("lwd"), equilogs = TRUE)

legend("bottomright",c("0.25","0.50","0.75"),bty="n",lty=c(1,2,3),lwd=2,
pch=c(18,24,22),col=c(PrimaryColors[c(6,4)],SecondaryColors[c(4)]),title="R
Squared")

On Wed, Mar 4, 2009 at 2:06 PM, David Winsemius <dwinsemius at comcast.net> wrote:
> See if this helps. After your code, submit this to R:
>
> with(d, text(xx[xx==3],zz[xx==3],paste("3, ",zz[xx==3])))
>
> After that has convinced you that xx and zz are being used properly,  you
> can try the more general approach:
>
> with(d, text(xx,zz,paste(xx, " , ", zz)))
>
> I would have used ZZ rather than "Y Label" on the y axis, because yy is
> being used as a grouping parameter and the plotted value is really zz
>
> --
> David Winsemius
>
> On Mar 4, 2009, at 11:52 AM, Dimitri Liakhovitski wrote:
>
>> Hello - and sorry for what might look like a simple graphics question.
>>
>> I am building an interaction plot for d:
>>
>>
>> d=data.frame(xx=c(3,3,2,2,1,1),yy=c(4,3,4,3,4,3),zz=c(5.1,4.4,3.5,3.3,-1.1,-1.3))
>> d[]<-as.factor(d[])
>> d[]<-as.factor(d[])
>> print(d)
>>
>> interaction.plot(d\$xx, d\$yy, d\$zz,
>>  type="b", col=c("red","blue"), legend=F,
>>  lty=c(1,2), lwd=2, pch=c(18,24),
>>  xlab="X Label",
>>  ylab="Y Label",
>>  main="Chart Label")
>>
>> I am trying and not succeeding in adding Y values (value labels in
>> Excel speak) near the data points on 3 lines of the graph.
>> I understand that I might have to use "text". But how do I tell text
>> to use the actual coordinates of the dots on the lines?
>>
>>
>> Thank you very much!
>>
>> --
>> Dimitri Liakhovitski
>> MarketTools, Inc.
>> Dimitri.Liakhovitski at markettools.com
>>
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>
>

--
Dimitri Liakhovitski
MarketTools, Inc.
Dimitri.Liakhovitski at markettools.com

```