geom_point中的size真正意味着什么?

13

这两个图的数据点看起来不同,但是为什么?

mya <- data.frame(a=1:100)

ggplot() +
  geom_path(data=mya, aes(x=a, y=a, colour=2, size=seq(0.1,10,0.1))) +
  geom_point(data=mya, aes(x=a, y=a, colour=1, size=1)) +
  theme_bw() +
  theme(text=element_text(size=11))

ggplot() +
  geom_path(data=mya, aes(x=a, y=a, colour=2, size=1)) +
  geom_point(data=mya, aes(x=a, y=a, colour=1, size=1)) +
  theme_bw() +
  theme(text=element_text(size=11))

?aes_linetype_size_shape解释了...

 # Size examples
 # Should be specified with a numerical value (in millimetres),
 # or from a variable source

但在我的代码中它看起来不同。

1个回答

16

你的代码中存在一些令人困惑的问题。你似乎在以一种不符合意图的方式使用 aes 函数。除了 size 问题外,你还得到了多个图例,我认为 ggplot 对颜色感到困惑。

aes 函数用于将美学映射到数据中的变量,但你正在使用它将美学设置为常数。此外,你正在使用 aes 函数设置两种单独的美学。即使你将 size 设置为常数,ggplot2 也不喜欢两个不同的(路径和点)大小映射。同样的情况也出现在颜色映射上。

sizecolour 的值设置为常量,因此将它们移出 aes 函数。此外,在第一个图中关于路径的 size ,最好向数据框添加一个 size 变量。(我稍微修改了你的数据,以便同时显示点和路径。)如预期的那样,第一个图中只绘制了一个图例。

    library(ggplot2)
mya <- data.frame(a=1:10, size = seq(10, 1, -1))

ggplot() +
  geom_path(data=mya, aes(x=a, y=a, size=size), colour = 2) +
  geom_point(data=mya, aes(x=a, y=a), colour = 1, size = 3) +
  theme_bw() +
  theme(text=element_text(size=11))

ggplot() +
  geom_path(data=mya, aes(x=a, y=a), colour = 2, size = 1) +
  geom_point(data=mya, aes(x=a, y=a), colour = 1, size = 3) +
  theme_bw() +
  theme(text=element_text(size=11))

在这里输入图片描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接