gpt4 book ai didi

r - 如何在热图上添加黑线

转载 作者:行者123 更新时间:2023-12-04 15:12:28 24 4
gpt4 key购买 nike

我创建了以下示例热图:

library(reshape2) 
library(ggplot2)
require(gridExtra)
library(RColorBrewer)
colors <- brewer.pal(9, 'Reds')
sample_data <- data.frame(matrix(sample(36, 36), nrow=6))
sample_data$id<-rownames(sample_data)
sample_data2 <- melt(sample_data, id.var="id")
ggplot(sample_data2, aes(as.factor(variable), as.factor(id), group=id)) +
geom_tile(aes(fill = value)) +
geom_text(aes(fill = sample_data2$value, label = sample_data2$value), size=3) +
scale_fill_gradientn(colours = colors) +
labs(x = "variable", y = "id", title="heat map")

这会产生如下图: enter image description here

我的问题是如何添加暗线来分隔选定的图 block ?我使用第三方软件程序在下图中说明了这个想法:

enter image description here

最佳答案

您可以定义一组新的点来描述您想要绘制的线段。我们利用每个图 block 都以整数网格为中心且宽度为 1 的事实。

my.lines<-data.frame(x=c(.5,4.5), y=c(5.5,.5), 
xend=c(4.5,4.5), yend=c(5.5,5.5))

ggplot(sample_data2, aes(as.factor(variable), as.factor(id), group=id)) +
geom_tile(aes(fill = value)) +
geom_text(aes(fill = sample_data2$value, label = sample_data2$value), size=3) +
scale_fill_gradientn(colours = colors) +
labs(x = "variable", y = "id", title="heat map") +
geom_segment(data=my.lines, aes(x,y,xend=xend, yend=yend), size=3, inherit.aes=F)

enter image description here

关于r - 如何在热图上添加黑线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29724011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com