0
我想绘制热图,但x(和y)轴上的单位大小应该有所不同。下面的示例代码:ggplot 2热图与变量轴
users = rep(1:3,3)
Inst = c(rep("A",3),rep("B",3),rep("C",3))
dens = rnorm(9)
n_inst = c(3,3,3,2,2,2,1,1,1)
df <- data.frame(users, Inst, dens, n_inst)
1 1 A 1.2521487 3
2 2 A -0.1013088 3
3 3 A 1.5770535 3
4 1 B 1.1093957 2
5 2 B 1.1059166 2
6 3 B 0.6884662 2
7 1 C -0.3864710 1
8 2 C -1.0216373 1
9 3 C 0.4500778 1
z <- ggplot(df, aes(Inst, users)) + geom_tile(aes(fill = dens))
z + scale_x_discrete(breaks = n_inst)
所以由此得出一个热图,但Inst
所有单元具有相同的尺寸。我想要A
的宽度为C
和B
的宽度的两倍宽度C
。所以我想n_inst
给单位的宽度。
我试过scale_discret,但这并不能做到这一点
预先感谢您。
好的,谢谢。什么是y轴的simular命令? –
它的高度而不是宽度 –