Тепловая карта, отображающая величину и значение p (R::ggplot2)
Я хотел бы сделать тепловую карту, которая отображает как величину, так и значение p числа в каждом поле. Я хочу, чтобы цвет каждой ячейки описывал значение (v), и я хочу, чтобы толщина границы каждой ячейки описывала значение p.
df = data.frame(x=1:5, y=letters[1:5], v=1:5, p=10^(-(1:5)) )
Что я имею:
plt <- ggplot(df, aes(x=x,y=y,fill=v)) + geom_tile()
У меня есть первый проход, этот код изменяет толщину границы в соответствии со значением значения:
plt <- ggplot(df, aes(x=x, y=y, fill=v)) +
geom_tile( size=1-df$p, colour='black' )
Сейчас я просто пытаюсь привести себя в порядок. Как я могу добавить регулярное расстояние между всеми ячейками? Мне нужно создать буферную зону, чтобы границы не перекрывались с соседними ячейками?
ответ: переменные высоты и ширины в aes
Вот фигура, с которой я заканчиваю:
plt3 <- ggplot(mel, aes(y=Subject,x=HMO,fill=b,height=.75,width=.75 ))+
geom_tile(size=3*(mel$border)) +
scale_fill_gradientn(colours=rev(c("blue1",'lightblue', "white" ,'orangered', "red1")) )
Мне нужна легенда для границ, но я не могу заставить ее появиться. Я думаю, что это потому, что это не aes. Любая идея, как я могу получить легенду о толщине границы?