相关疑难解决方法(0)

gesplot2中aes()及其外部传递选项的区别

在ggplot2中摆弄点大小选项之后,我注意到在aes()参数的内部和外部都传递了大小的示例geom_point().从Hadley网站上`geom_point()页面:

p <- ggplot(mtcars, aes(wt, mpg))

# passed inside
p + geom_point(aes(size = qsec)) 
p + geom_point(aes(size = qsec)) + scale_area() 

# passed outside
p + geom_point(colour = "red", size = 3) 
p + geom_point(colour = "grey50", size = 4)
Run Code Online (Sandbox Code Playgroud)

我发现这些传说的表现方式不同.当aes()我进入内部时,我可以看到一个传奇,尽管我需要设置休息,即使我只有两个不同大小的点; 否则,我会得到一个五个点的范围,即使只使用了2个.

而且,通过的尺寸不可理解; 我需要指定使用的相对大小range=c(min,max),并将中断设置为仅两个大小而不是默认的五个.

如果我超越尺寸aes(),尺寸似乎很荣幸,但我无法在我的情节中获得传奇; 我想scale_size,scale_size_continuousscale_size_manual没有成功.

geom_point()页面上可以看到:

以下美学可与geom_point一起使用.使用aes函数将美学映射到数据中的变量:geom_point(aes(x = var))

...

Scales控制变量如何映射到美学,并在每个美学之后列出.

[此处列出所有美学选项(形状,颜色,大小等)]

从那以后,仍然不完全清楚如何选择(这个问题的大小,但这应该对其他美学有意义)内外aes()影响结果.

size plot r ggplot2

7
推荐指数
1
解决办法
2542
查看次数

当我通过美学提供其值时,无法使 geom_sf 线宽正常工作

我有一个形状文件,my_sf. 如果我写:

ggplot() +
  geom_sf(
    data = my_sf,
    size = 0.5 # this is the default value actually
  )
Run Code Online (Sandbox Code Playgroud)

然后就可以正常工作了。但是,如果我my_line_width向 中添加一个属性my_sf,并将该列中的每个值设置为 0.5,然后写入:

ggplot() +
  geom_sf(
    data = my_sf,
    aes(size = my_line_width)
  )
Run Code Online (Sandbox Code Playgroud)

然后我得到一堆巨大的线条,它们可怕地重叠。如果正常线条的宽度为 0.5,那么这些线条的宽度可能为 4。我不明白为什么它们不会产生相同的结果(除了图例,我知道只有在您使用美学时才会弹出图例)。有谁知道发生了什么事吗?

我也尝试过使用lwd而不是size. 完全相同的事情发生了:当我只是设置一个静态值时没问题,但是当我尝试通过美学提供值时,就会出错。

r ggplot2

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

ggplot2 ×2

r ×2

plot ×1

size ×1