R + ggplot:热图。如果值='X',则为特定颜色

用户1995839

我正在用ggplot在R中制作一些热图,并使用RColorBrewer。我正在绘制一系列整数值,但是其中一些值为“ None”,我想为这些颜色上色。有人可以建议最合适的方法来修改我的代码以添加此功能,包括添加第二个图例以显示“新颜色标签”无”吗?我是R的新手,所以自己没有运气把它拿出来。

非常感谢!!:)

示例数据

Target  A.tg_t0_rep_A   B.tg_t0_rep_B   C.tg_t0_rep_C   D.tg_t0_rep_D   E.tg_w2_rep_A   F.tg_w2_rep_B   G.tg_w2_rep_C   H.tg_w2_rep_D   I.tg_w4_rep_A   J.tg_w4_rep_B
1 : 12110501    None    0.5625  0.25    0.5714  None    None    0.5 None    None    0.2857
1 : 27262099    0.3333  0.8889  0.6667  0.9231  None    None    0.5556  0.6667  None    0.375

情节代码

library(ggplot2)
library(RColorBrewer)

data <- read.csv('test.csv', header =TRUE)
rownames(data)=data[,1]
data_shaped <- data.frame(sample = rep(colnames(data), each = nrow(data)),
                          dmr = rownames(data),
                          methylation_level = unlist(data))
# remove first n rows from dataset(first col header mistakenly being analysed)
data_shaped <- data_shaped[-c(1:2), ] 

# set colour palette
jBuPuFun <- colorRampPalette(brewer.pal(n = 9, "RdBu"))
paletteSize <- 256
jBuPuPalette <- jBuPuFun(paletteSize)

# heatmap!
ggplot(data_shaped, aes(x = sample, y = dmr, fill = methylation_level)) +
  theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)) +
  geom_tile() +
  scale_fill_gradient2(high = jBuPuPalette[1],
                       mid = jBuPuPalette[paletteSize/2],
                       low = jBuPuPalette[paletteSize],
                       midpoint = (max(data_shaped$methylation_level) +
                                     min(data_shaped$methylation_level)) / 2,
                       name = "methylation_level")
弗里克先生

我不确定您在其中如何将“无”与数字值混合在一起。是否将这些作为因素阅读?您可能想将“ None”值设置NA为R的特殊缺失值。您可以在期间read.table通过设置执行此操作na.strings=c("","None")

但最后似乎该scale_fill_gradient2函数具有一个na.value =参数。所以,如果你转换你的价值观真NA值,那么你可以设置颜色为他们就像你一样的highmid等。

例:

#sample data with missing values
dd<-data.frame(
    expand.grid(x=1:10, y=1:10),
    value=rpois(10*10, 10)
)
dd$value[c(5,10,55,77)] <- NA

现在做个情节

ggplot(dd, aes(x=x, y=y, fill=value)) +
   geom_tile() +
   scale_fill_gradient2(high="red",mid="white",low="blue", 
       na.value="yellow", midpoint=mean(dd$value, na.rm=T)
)

样地

本文收集自互联网,转载请注明来源。

如有侵权,请联系debugcn@gmail.com 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R中ggplot条形图的x轴限制

来自分类Dev

绘制热图,其颜色是函数x,y-> r,g,b的结果

来自分类Dev

R瀑布图x值

来自分类Dev

R中的酒窝dPlot颜色x轴条值

来自分类Dev

绘制排序的热图以保留(x,y)值颜色

来自分类Dev

更改特定变量R ggplot堆积条形图的颜色

来自分类Dev

带R,ggmap和ggplot的热图

来自分类Dev

R ggplot热图手动分档并选择中间档颜色

来自分类Dev

通过x轴上的特定日期更改ggplot2-R中的颜色背景

来自分类Dev

在集合X,Y,Z中生成热图,其中Z是颜色的强度

来自分类Dev

R ggplot仅针对不同的x值生成一个箱形图

来自分类Dev

热图/ GGPLOT R

来自分类Dev

为Seaborn热图分配特定颜色

来自分类Dev

R:具有基于组的颜色的热图,包括灰色的NA值和包括的字符

来自分类Dev

在绘图热图(R)中更改颜色栏标签

来自分类Dev

ggplot2 R将x轴标签固定在相对于图的特定点

来自分类Dev

R热图:使用(ggplot2或按图)有条件地更改标签文本的颜色

来自分类Dev

R:使用ggplot更改风险热图中的colorPalette颜色

来自分类Dev

频率值作为颜色变量的热图

来自分类Dev

使x轴连续ggplot R缺少值

来自分类Dev

R中ggplot条形图的x轴限制

来自分类Dev

绘制一种热图,其颜色是函数x,y-> r,g,b的结果

来自分类Dev

R ggplot2条形图更改特定条形的颜色

来自分类Dev

R-根据p值的颜色图

来自分类Dev

如果x比y大3,则为C ++

来自分类Dev

R中的传单上的热图颜色

来自分类Dev

离散点的“插值”以获取热图/轮廓R

来自分类Dev

R ggplot2:将自定义文本添加到图例和热图侧面的值计数

来自分类Dev

如何在 ggplot r 中绘制每个 x-lab 条形图都包含正负 y 值的条形图?

Related 相关文章

热门标签

归档