0

我最近一直在与 R 进行广泛的合作,并且我有一个挑剔的绘图问题。

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

有什么建议么?

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

4

2 回答 2

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()
于 2013-07-24T20:54:07.037 回答
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)
于 2013-07-24T20:58:14.223 回答