是否有任何选项可以size在ggplot函数的参数中使用两个变量?例如
ggplot(mtcars, aes(qsec,drat, size = cyl))+
geom_point()
Run Code Online (Sandbox Code Playgroud)
显然它有效,点的大小取决于cyl变量。但是是否可以选择添加另一个size可以使用alpha选项的变量,例如variable = mpg. 怎么做?
谢谢,
更新
感谢@lukeA 以下代码行有效:
ggplot() +
geom_point(data = mtcars, aes(qsec,drat, size = cyl)) +
geom_point(data = mtcars, aes(qsec,drat, size = mpg), alpha = .1, colour = "red")
Run Code Online (Sandbox Code Playgroud)
但是当我想单独设置每个变量的大小时,这是不可能的。当size我通常使用一个变量scale_size_contiunous但有两个size变量时它不起作用。我知道使用scale_size_continuous两次不会改变任何东西。也许根本不可能,但也许有人找到了解决方案。
您现在可以使用ggnewscale- 让您拥有多个适合任何审美的比例。尺度也可以单独定义。这是一个例子:
library(ggplot2)
library(ggnewscale)
ggplot(mtcars, aes(x=qsec, y=drat)) + theme_bw() +
geom_point(aes(size=cyl), color='gray20') +
scale_size_continuous(range=c(0.2, 3)) +
new_scale("size") +
geom_point(aes(size=mpg), alpha=0.1, color='red') +
scale_size_continuous(range=c(5, 10))
Run Code Online (Sandbox Code Playgroud)
您可以单独定义每个比例的范围。在这种情况下,这一点很重要,这样您就可以确保映射到的尺寸范围mpg大于映射到 的尺寸范围cyl。否则,两者都会映射到默认范围 ( c(1,6)),这意味着许多点不会有可见的红点。
| 归档时间: |
|
| 查看次数: |
1062 次 |
| 最近记录: |