如何用R中的自定义点创建绘图?

时间:2012-03-31 17:20:01

标签: r graphics plot

我知道我可以使用plot命令中的type =“o”参数创建一个带有线和点的图。我希望能有更多的控制权 - 我希望能够将“o”绘制成完整的点,我选择黑色边框和填充颜色,自定义尺寸和不同颜色的线条。同样的线,我想让它更厚,我的颜色选择。我将如何继续这样做?

到目前为止我发现的只是一个简单的

 plot(y, type= "o")

这对我的需求来说太差了。

我对使用ggplot不感兴趣,而是使用R的内部绘图库。 任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:14)

根据@BenBolker的建议,您需要的所有信息都应该出现在?plot?points中。特别是,您希望使用pch=21,并使用bg参数指定背景颜色,使用cex指定尺寸,使用lwd指定行宽。

如果您希望线条与点边框的厚度不同,则需要先绘制线条,然后重叠点。

例如:

y <- sample(10)
plot(y, lwd=6, type='l')
points(y, bg='tomato2', pch=21, cex=3, lwd=3) # tomato2 is a personal fave

enter image description here

您还可以为积分呼叫提供lwdcexcol的向量:

plot(y, lwd=6, type='l')
points(y, bg=rainbow(10), pch=21, cex=seq(1, by=0.2, length.out=10), 
       lwd=seq(2, by=1, length.out=10))

enter image description here

答案 1 :(得分:9)

你可以使用分层(我不再在基础上工作太多作为社交研究员,我喜欢ggplot的facet_grid,所以可能有更好的方法),如:

x <- sort(rnorm(25))
y <- sort(rnorm(25))
z <- as.factor(sample(LETTERS[1:5], 25, r=TRUE))

plot(x, y, pch = 19, cex = 1.3)
par(new = TRUE)
plot(x, y, pch = 19, cex = 1, col = z)

哪个给你: enter image description here