如何在R中创建带有自定义点的图?

klo*_*oop 3 graphics plot r

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

我到现在所发现的只是一个平原

 plot(y, type= "o")
Run Code Online (Sandbox Code Playgroud)

这对我的需求太差了.

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

jba*_*ums 14

你需要的所有信息都应该出现在?plot?points由@BenBolker的建议.特别是,您希望使用pch=21,并使用bg参数,size with cex和line width 指定背景颜色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
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

你也可以提供一个载体lwd,cexcol给分拨打:

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))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Tyl*_*ker 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)
Run Code Online (Sandbox Code Playgroud)

哪个给你: 在此输入图像描述

  • 分层是不必要的,以实现彩色填充点.`bg`和`pch = 21`就可以了. (2认同)