如何从ggplot2中的特定geom更改大小?

Chi*_*rag 4 r ggplot2

我有一个包含2层的ggplotgeom_pointgeom_line,如下所示。

gp <- ggplot(data = mtcars , aes(x = disp , y = hp)) + 
       geom_point(size = 3) + geom_line(size = 1 , color = "red")
Run Code Online (Sandbox Code Playgroud)

`

创建绘图后,在 中gp,我只想更改一个geom(例如线)的大小。我怎样才能做到这一点 ?

Z.L*_*Lin 7

如果您想用较小的尺寸替换现有尺寸(或用虚线替换实线型,用未填充的替换填充形状等),叠加可能不会产生最佳的视觉效果。作为替代方案,您可以深入到您创建的 ggplot 对象的特定层,并在那里手动更改参数。

(请注意,这需要您知道对象中几何层的顺序。)

gp$layers[[2]]$aes_params$size <- 0.5 # change the size of the geom_line layer from 1 to 0.5
gp$layers[[1]]$aes_params$size <- 1   # change the size of the geom_point layer from 3 to 1
Run Code Online (Sandbox Code Playgroud)

阴谋

我假设您的用例涉及修改某个包的绘图功能输出的 ggplot 对象?否则,在绘图创建时指定所需的参数可能更简单......