当用R中的`as.factor`绘图时,为什么`ann = F`不起作用?

时间:2011-06-01 19:11:21

标签: r plot r-factor

我正在使用R中的plot()绘制一个连续变量(参见下面的示例)。我不想要轴上的标签。如果公式as.factor中没有ann = F调用,则会禁止打印标签,但它不适用于公式中的as.factor

为什么会这样?

谢谢。

# example for SO
# example data 
x <- sample(1:100, 10)
y <- c(rep(1, 5), rep(2, 5))

# ann = F doesn't work here
plot(x ~ as.factor(y), ann = F)

# ann = F does work here
plot(x ~ y, ann = F)

2 个答案:

答案 0 :(得分:5)

它似乎是由plot.formula引起的,因为如果您分别指定xy,它会起作用:

plot(as.factor(y), x, ann=FALSE)

更新:

确认它在graphics:::plot.formula。调用plot的行明确设置ylabxlabfunname"plot"dots = list(ann=FALSE)):

do.call(funname, c(list(mf[[i]], y, ylab = yl, xlab = xl), dots))

答案 1 :(得分:2)

调度系统将非工作系统发送到plot.factor,然后将其发送到没有ann =参数的boxplot,而“working”则发送到plot.data.frame,最终是plot.default,它确实尊重ann =参数。抑制命名。使用方法:

plot(x~as.factor(y),names = rep(“”,2))