Brian Brian - 1 month ago 8
R Question

Inserting pch data point symbols into axis labels in R

I have combined two data sets into one graph and I would like to add the corresponding

pch
symbols right into the axis labels.
Now, I know that solutions using
text()
instead of
xlab
and
ylab
and Hershey vector fonts (instead of citing a
pch=16
, etc.) are given here and here but the symbols appear kinda wonky-shaped. Does anyone have a more "well-rounded" solution?

thinkoholic.com's reproducible example,

par(mar=c(5,5,2,5))

# create data and plot circles
x <- seq(0,5,0.5)

y <- seq(0,5,0.5)
plot(x,y, xlab="", ylab="")

#create random data and add bullets (pch=19)
x <- rnorm(20,2.5)
y <- rnorm(20,2.5)
points(x,y, pch=19)

#add y axis on right side
axis (side = 4)

#create text with symbols
text(-1,2.5,"\\#H0850 y1 axis text", vfont=c("sans serif","plain"), cex=1.25, adj=0.5, srt=90, xpd=TRUE)
text(6,2.5,"\\#H0902 y2 axis text", vfont=c("sans serif","plain"), cex=1.25, adj=0.5, srt=90, xpd=TRUE)
text(2.5,-1,"x axis text", vfont=c("sans serif","plain"), cex=1.25, adj=0.5, srt=0, xpd=TRUE)

Answer

If you insist on doing this:

par(mar=c(5,5,2,5), xpd=TRUE)

x <- seq(0,5,0.5)
y <- seq(0,5,0.5)
plot(x,y, xlab="", ylab="")


text(-1,2.5,"y axis text", cex=1.25, adj=0, srt=90)
points(-1,2.4)