我最近一直与R广泛合作,我有一个挑剔的策划问题。
我附上了当前情节的图像作为参考。如您所见,我添加了垂直线来分割数据输入的部分。我有200个'代理',每个都来自不同的分类子集,这些子集使它们有点不同。因此,我的目标是将底部轴保持为我的“代理”向量的索引,但我想在底部的每个子部分添加一个标签,以便更清楚地说明为什么我要分割他们用垂直线。
有什么建议吗?
答案 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)