ggplot2:如何产生更小的点

Edg*_*tos 3 graphics plot r ggplot2

我有一个使用散点图绘制的大型数据集。这些点具有 x,y 的独特组合,因此它们不重叠,但其中一些点彼此非常接近,因此我将它们绘制成小尺寸。

1- 如何产生更小的点符号(更小size),使面积成比例。在本例中,最后一个点的面积不与 成比例size。我期待它比中间的小 10,例如:

df <- data.frame(c1 = 1:3, c2 = c(1,1,1))
ggplot(df) + geom_point(aes(x= c1, y = c2), size = c(1, 0.1, 0.01)) 
Run Code Online (Sandbox Code Playgroud)

2- sizeggplot2 中的如何匹配 R 图形cex参数,例如: plot(df$c2 ~ df$c1, cex = c(1, 0.1, 0.01))。谢谢

nei*_*fws 8

有一个size =参数geom_point,但您可以为所有点指定一个大小:

+ geom_point(size = 0.5)
Run Code Online (Sandbox Code Playgroud)

或者您使用以下方法将大小映射到数据中的列之一aes

+ geom_point(aes(size = c2))
Run Code Online (Sandbox Code Playgroud)

在后一种情况下,您可以使用 控制大小范围scale_size_continuous。默认值为 min = 1,max = 6。例如, min = 2,max = 8:

+ geom_point(aes(size = c2)) + scale_size_continuous(range = c(2, 8))
Run Code Online (Sandbox Code Playgroud)
  • 请注意,“ggplot2 方式”是将数据映射到几何图形,而不是为每个观察值赋值
  • 不,这里的大小与 cex


小智 6

你可以试试

geom_point(shape = ".") 
Run Code Online (Sandbox Code Playgroud)

这将使点的大小为 1 个像素。

这是来自 H Wickham 的 ggplot2 第二版第 70 页