我知道我可以使用plot命令中的type =“o”参数创建一个带有线和点的绘图。我想要对此有更多的控制 - 我希望能够将“o”绘制为完整点,具有我选择的黑色边框和填充颜色,自定义尺寸和与线条不同的颜色。线条相同,我想让它变得更厚,并且选择颜色。我将如何继续这样做?如何在R中创建一个具有自定义点的绘图?
我发现到现在为止只是一个简单的
plot(y, type= "o")
这是我的需求太可怜了。
我对使用ggplot不感兴趣,而是使用R的内部图库。 任何帮助表示赞赏。
我知道我可以使用plot命令中的type =“o”参数创建一个带有线和点的绘图。我想要对此有更多的控制 - 我希望能够将“o”绘制为完整点,具有我选择的黑色边框和填充颜色,自定义尺寸和与线条不同的颜色。线条相同,我想让它变得更厚,并且选择颜色。我将如何继续这样做?如何在R中创建一个具有自定义点的绘图?
我发现到现在为止只是一个简单的
plot(y, type= "o")
这是我的需求太可怜了。
我对使用ggplot不感兴趣,而是使用R的内部图库。 任何帮助表示赞赏。
你可以使用分层(我没有在任何基础工作更过分的社会研究者我爱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)
哪给你:
我建议在第二个绘图之前添加opar < - par(new = TRUE)打电话给'情节',并在(后来防止未来的惊喜)之后参与(opar)。或通过调用'points'(使用相同的参数)将第二个调用替换为'plot'。 – 2012-03-31 18:48:39
分层不需要用彩色填充来获得点。 'bg'和'pch = 21'将会成功。 – jbaums 2012-04-01 05:28:04
所有你需要的信息应该存在于?plot
和?points
,正如@BenBolker所建议的。特别是,您希望使用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
你也可以提供lwd
,cex
和col
给点矢量拨打:
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))
ŧ仔细看看'?points',包括运行示例('example(“points”)')... – 2012-03-31 17:26:28
谢谢。我会看看?点,但这些例子似乎并没有提供我需要的东西。他们确实有一个坚实的圈子,但没有边界。 – kloop 2012-03-31 17:29:58
仔细观察,在第二个绘图(浅蓝色背景,深蓝色边缘),第三个绘图(点类型21-25;黄色背景,红色边缘) – 2012-03-31 18:02:29