R:用点绘制时控制抖动 - 在分类x轴上得到不等的扩展

时间:2017-10-31 11:01:34

标签: r plot jitter

我正在尝试构建一个自定义函数来将点添加到绘图窗口。我的问题是,当我使用jitter时,似乎在图的右侧与左侧部分的差异是不同的。

为什么会这样?

set.seed(8)

f1 <- function(x, y, col = 'black', xjit = 5, ...) {
  points(x = jitter(rep(x, length(y)), xjit), y = y, col = col, ...)
}

v <- sample(1:1000, 1000, T) #Some data to plot
ymax <- max(v)

plot.new() #Build a canvas from scratch
plot.window( xlim = c(1, 10), ylim = c(0, ymax) )
ticks <- seq(1, 10, 1)
axis(1, at=ticks, labels=NA)
axis(2)

#Plot the same data to the left (x=1) and right (x=10)
f1(1, v, 'red', pch = 4)
f1(10, v, 'blue', pch = 4)

figure

1 个答案:

答案 0 :(得分:0)

抖动是输入变量的函数,因此在使用f1函数中的相同第一个变量计算抖动结果后,只需将抖动结果添加到原始数字中。