我正在尝试使用ggplot2
创建一个热图,以控制两个不同的连续变量。只有一个值大于0.对于那个变量,我想控制半径'瓦片的最大值是占用所有可用空间的瓦片,0表示瓦片的区域为0.到目前为止,使用aes(size = ...)
没有给出任何结果,我感到迷茫至于做什么。
示例:
library(dplyr)
library(ggplot2)
dat <-
data_frame(
factor_1 = as.factor(rep(c(1, 2, 3, 4, 5), 5)),
factor_2 = as.factor(rep(c(1, 2, 3, 4, 5), each = 5)),
value_1 = rnorm(25),
value_2 = runif(25)
)
ggplot(dat) +
geom_tile(aes(x = factor_1, y = factor_2, fill = value_1, size = value_2))
产生
正如我们所看到的,有一个尺寸图例可以与value_2
一起缩放,但是这些图块的大小都是一致的。
我想获得的结果类似于corrplot function此链接的前两个示例,其中圆圈或正方形的大小可能不同,在它们周围留下白色边框。
答案 0 :(得分:1)
您可以使用width
和height
美学:
ggplot(dat) +
geom_tile(aes(x = factor_1, y = factor_2, fill = value_1,
width = value_2, height = value_2))
出于某种原因,我得到关于这些是“未知的美学”的警告,但他们显然正在努力设置瓷砖的宽度和高度。