我需要一些基础R绘图中的轴标签帮助,提前感谢任何指导!
在R
base plot()
我想将axis(3, ...)
标签旋转到-90度以获得以下输出:
(请注意,我已将图片旋转到R外)
我正在使用labcurve
进行曲线注释,奇怪的是,对于我的数据,如果应用于-90度旋转图形,注释结果在视觉上会更好。运行labcurve
后,我可以将生成的R生成的PDF在LaTeX中旋转90度。
我知道这受par
中las
选项的约束,并带有以下选项:
0: always parallel to the axis [default],
1: always horizontal,
2: always perpendicular to the axis,
3: always vertical.
但是,这四个选项仅覆盖0度和90度两个角度,如下所示:
plot(x=c(0,10), y=c(0,1), type='n', xlab='',ylab='', axes=FALSE)
lines(x=c(0,7,7,10), y=c(0,0.33,0.67,1))
axis(2, at=c(0,1), labels=c('',''), las=2)
xlabels <- c('0','10')
axis(3, at=c(0,10), labels=xlabels, las=0)
或
axis(3, at=c(0,10), labels=xlabels, las=1)
axis(3, at=c(0,10), labels=xlabels, las=2)
或
axis(3, at=c(0,10), labels=xlabels, las=3)
可以想到str
,但根据文档:
请注意,通过参数srt到par的字符串/字符旋转不会 影响轴标签。
再次感谢!
答案 0 :(得分:2)
R FAQ 7.27中描述了创建旋转轴标签的一般步骤。这是一个有希望满足您需求的修改示例。
# some toy data
x <- c(0, 2, 6, 10)
y <- sample(1:4)
# Increase top margin to make room for rotated labels
par(mar = c(5, 4, 7, 2) + 0.1)
# Create plot without axis or labels
plot(x, y, type = "l", axes = FALSE, xlab = "", ylab = "")
# positions for tick marks
atx <- range(x)
aty <- range(y)
# x axis without labels
axis(side = 3, at = atx, labels = FALSE)
# y axis without labels
axis(side = 2, at = aty, labels = FALSE)
# add -90 rotated x axis labels
text(x = atx, y = par("usr")[4] + 0.25, srt = -90, adj = 1,
labels = atx, xpd = TRUE)