ggplot2:如何产生更小的点

问题描述 投票:0回答:3

我有一个大型数据集,正在使用散点图绘制。这些点具有独特的 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)) 

2- ggplot2 中的

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

r ggplot2 plot graphics
3个回答
10
投票

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

+ geom_point(size = 0.5)

或者您可以使用

aes
将大小映射到数据中的一列:

+ geom_point(aes(size = c2))

在后一种情况下,您可以使用

scale_size_continuous
控制尺寸范围。默认值为 min = 1,max = 6。要获得 例如 min = 2,max = 8:

+ geom_point(aes(size = c2)) + scale_size_continuous(range = c(2, 8))
  • 请注意,“ggplot2 方式”是将数据映射到几何图形,而不是为每个观察值分配值
  • 不,这里的尺寸与
    cex
  • 不同

8
投票

你可以试试

geom_point(shape = ".") 

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

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


0
投票

这里的问题可能是 ggplot 中的一个点由内部和边框部分组成(由于缺乏更好的措辞)。内部由

fill
alpha
size
控制,边界由
color
stroke
控制。因此,使用
size
,您将仅更改内部的大小,而边框的线条粗细将保持不变。尝试设置
strike = 0
,看看它如何改变你的磅值。

© www.soinside.com 2019 - 2024. All rights reserved.