在R图中分割X轴标签

时间:2013-07-24 20:42:18

标签: r plot

我最近一直与R广泛合作,我有一个挑剔的策划问题。

我附上了当前情节的图像作为参考。如您所见,我添加了垂直线来分割数据输入的部分。我有200个'代理',每个都来自不同的分类子集,这些子集使它们有点不同。因此,我的目标是将底部轴保持为我的“代理”向量的索引,但我想在底部的每个子部分添加一个标签,以便更清楚地说明为什么我要分割他们用垂直线。

有什么建议吗?

http://i.imgur.com/YGNdBhg.png?1?1971

2 个答案:

答案 0 :(得分:1)

您只需要像这样致电axis

x = sin(1:100) + rnorm(100, 0,.125)
breaks = c(10,33,85, 96)

plot(x)
sapply(breaks, function(x){abline(v=x, lty=2)})
axis(1, breaks, as.character(breaks))

如果您不想绘制默认的刻度(即“中断”向量中的刻度),您只需稍微修改一下:

plot(x, axes=F)
sapply(breaks, function(x){abline(v=x, lty=2)})
axis(1, breaks, as.character(breaks))
axis(2)
box()

答案 1 :(得分:0)

您不提供任何示例数据或代码,因此我发送的代码未经测试。我正在调用垂直线vertlines的矢量和标签labels的矢量。我使用垂直线和代理值的范围定义每个类别的中点。然后我使用mtext()函数将它们添加到绘图中。试一试。

vertlines <- c(40, 80, 120, 140, 160, 180)
labels <- letters[1:7]

labelx <- diff(c(1, vertlines, 200))/2 + c(1, vertlines)
mtext(labels, at=labelx, side=1, line=4)