查看: 21857|回复: 46

[流程分析] 【案例分析】以差异倍数绘制单列热图代码

  [复制链接]

钵水母

Rank: 3Rank: 3

主题
1
注册时间
2015.12.12
在线时间
3 小时

发表于 2015.12.15 00:02:06 | 显示全部楼层 |阅读模式
直接贴代码,希望对大家绘制热图有帮助!!
library("pheatmap")

# setwd("G:/Heatmap")  # 改变工作路径
data<- read.table("test.txt",head = T,sep="\t",row.names=1)
pheatmap(data,
         treeheight_row=40,
         treeheight_col=40,
#       scale="row",                   #本处无需归一化
         cluster_cols=FALSE,
         cluster_rows=FALSE,
         display_numbers=FALSE,    # 是否在热图中显示数值
         number_format="%.4f",     #保留四位小数
         fontsize_row=8,               
         fontsize_col=8,
         cellwidth = 40, cellheight = 30,    # 确定每个格子的高度和宽度
         show_colnames=TRUE,
         color = colorRampPalette(c("navy", "white", "firebrick3"),bias=0.6)(300) ,   # 定义颜色变化范围,bias控制颜色偏向
         filename = "test.pdf"      # 保存图片
)#备注:由于数据只有单列,有时候上调的基因数量和下调基因数量差异很大,所以0未必为白色。bias参数可以控制颜色的渐变偏向。
#备注bias=1,则没有任何偏好。
#如果bias< 1,则相对bia=1时,图例中0点会向向值大的一方移动;
#如果bias> 1,则相对bia=1时,图例中0点会偏向值小的一方移动;

#这个需要大家根据实际情况尝试,摸索最优参数。
效果图:
      bias=1(没有校正)                                            bias=0.6(0点朝数值大的一方移动)
                                                     



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

脚本中的bug已经修正,并上传了测试数据。  发表于 2016.4.13 18:05

评分

参与人数 3奥币 +17 贡献 +12 收起 理由
卡戎3521 + 10 + 10
基迪奥-周煌凯 + 2 请提供绘图的数据文件。
小瑶 + 5 + 2 给代码技术贴一个赞

查看全部评分

本帖被以下淘专辑推荐:

  • · 绘图|主题: 5, 订阅: 0
回复

使用道具 举报

管理员

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

主题
422
注册时间
2015.11.23
在线时间
952 小时

宣传达人优秀版主


发表于 2016.3.15 09:54:05 | 显示全部楼层
数据已经重新上传,请见一楼。
有问题请发贴提问
回复 支持 反对

使用道具 举报

迅猛龙

Rank: 8Rank: 8

主题
17
注册时间
2015.12.7
在线时间
145 小时

优秀版主


发表于 2015.12.15 10:09:51 | 显示全部楼层
纠错一个,scale="row",(无需聚类) 这里应该是“无需归一化”

这个代码也适用于其他无需归一化的热图数据~~{:8_419:}
回复 支持 反对

使用道具 举报

草履虫

Rank: 2

主题
0
注册时间
2015.12.12
在线时间
1 小时

发表于 2015.12.15 10:49:56 | 显示全部楼层
漂亮的热图,不解释

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 1 反对 0

使用道具 举报

管理员

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

主题
422
注册时间
2015.11.23
在线时间
952 小时

宣传达人优秀版主


发表于 2015.12.15 15:55:40 | 显示全部楼层
魔性盖拉多 发表于 2015-12-15 10:49
漂亮的热图,不解释

这是用楼主的代码画出来的吗??
有问题请发贴提问
回复 支持 反对

使用道具 举报

帝王蝶

Rank: 4

主题
13
注册时间
2015.11.23
在线时间
31 小时

发表于 2015.12.16 16:41:23 | 显示全部楼层
魔性盖拉多 发表于 2015-12-15 10:49
漂亮的热图,不解释

真的好漂亮啊 是怎么做到的~
回复 支持 反对

使用道具 举报

钵水母

Rank: 3Rank: 3

主题
1
注册时间
2015.12.12
在线时间
3 小时

 楼主| 发表于 2015.12.18 09:09:22 | 显示全部楼层
基迪奥小师妹 发表于 2015-12-15 10:09
纠错一个,scale="row",(无需聚类) 这里应该是“无需归一化”

这个代码也适用于其他无需归一化的热图数 ...

没错
回复 支持 反对

使用道具 举报

钵水母

Rank: 3Rank: 3

主题
1
注册时间
2015.12.12
在线时间
3 小时

 楼主| 发表于 2015.12.18 09:09:56 | 显示全部楼层
Yvonne 发表于 2015-12-15 15:55
这是用楼主的代码画出来的吗??

不是的,代码画 出来的只有一列的

点评

楼主,解释一下每行代码的含义啊啊啊啊,解救一下我等屌丝啊啊啊  发表于 2015.12.21 11:35
回复 支持 反对

使用道具 举报

钵水母

Rank: 3Rank: 3

主题
1
注册时间
2015.12.17
在线时间
9 小时

发表于 2015.12.21 09:27:56 | 显示全部楼层
楼主解释一下,每一行代码的含义啊。。。

点评

支持8楼!代码虽好,但看不懂有个啥用?  发表于 2015.12.21 11:33
我要升职加薪,当上总经理,出任CEO,赢取白富美,登上人生巅峰! 想想还有点小激动。
回复 支持 1 反对 0

使用道具 举报

帝王蝶

Rank: 4

主题
7
注册时间
2015.12.29
在线时间
24 小时

突出贡献论坛元老


发表于 2015.12.29 19:14:36 | 显示全部楼层
如何,这个GO分析图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 1 反对 0

使用道具 举报

管理员

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

主题
126
注册时间
2015.11.12
在线时间
784 小时

推广达人宣传达人论坛元老


发表于 2015.12.29 23:09:55 | 显示全部楼层
taojun7054602 发表于 2015.12.29 19:14
如何,这个GO分析图

哇塞,这个牛
哈啊哈哈
回复 支持 反对

使用道具 举报

钵水母

Rank: 3Rank: 3

主题
1
注册时间
2016.1.11
在线时间
34 小时

发表于 2016.1.12 21:28:43 | 显示全部楼层
一直出现这种错误 请问怎么回事?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

bug已经修复了,你重新试试。  发表于 2016.4.13 18:07
回复 支持 反对

使用道具 举报

管理员

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

主题
422
注册时间
2015.11.23
在线时间
952 小时

宣传达人优秀版主


发表于 2016.1.13 10:53:13 | 显示全部楼层
ras 发表于 2016.1.12 21:28
一直出现这种错误 请问怎么回事?

输入文件格式是不是有错啊?可以把文件发过来看看呀
有问题请发贴提问
回复 支持 反对

使用道具 举报

管理员

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

主题
422
注册时间
2015.11.23
在线时间
952 小时

宣传达人优秀版主


发表于 2016.1.13 17:03:01 | 显示全部楼层
正确的文件格式:第一列跟第二列之间要有一个table键分隔哦
有问题请发贴提问
回复 支持 反对

使用道具 举报

钵水母

Rank: 3Rank: 3

主题
1
注册时间
2016.1.11
在线时间
34 小时

发表于 2016.1.13 21:00:07 | 显示全部楼层
Yvonne 发表于 2016.1.13 17:03
正确的文件格式:第一列跟第二列之间要有一个table键分隔哦

已解决 非常感谢
回复 支持 反对

使用道具 举报

版主

Rank: 10Rank: 10Rank: 10

主题
13
注册时间
2015.12.29
在线时间
93 小时

发表于 2016.1.20 11:36:26 | 显示全部楼层
楼主,做好能附上数据(可以改动,以确保原数据),这样,我们初学者可以先画出原图,然后在这个基础上改动,效率更高

点评

你的建议非常好。  发表于 2016.1.20 18:27
你好
回复 支持 1 反对 0

使用道具 举报

管理员

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

主题
422
注册时间
2015.11.23
在线时间
952 小时

宣传达人优秀版主


发表于 2016.3.15 14:22:02 | 显示全部楼层
zhouyulu 发表于 2016.1.20 11:36
楼主,做好能附上数据(可以改动,以确保原数据),这样,我们初学者可以先画出原图,然后在这个基础上改动 ...

已经上传数据囖
有问题请发贴提问
回复 支持 反对

使用道具 举报

草履虫

Rank: 2

主题
0
注册时间
2016.2.24
在线时间
1 小时

发表于 2016.3.17 17:22:30 | 显示全部楼层
Error in seq.default(min(x, na.rm = T), max(x, na.rm = T), length.out = n +  :
  'from' cannot be NA, NaN or infinite

请问楼主,用你上传的数据报错了是怎么回事啊?

点评

bug已经修正了。  发表于 2016.4.13 18:08
回复 支持 反对

使用道具 举报

中华鲟

Rank: 5Rank: 5

主题
7
注册时间
2016.1.21
在线时间
95 小时

发表于 2016.4.8 10:36:44 | 显示全部楼层
单样本中的多基因比较
回复 支持 反对

使用道具 举报

钵水母

Rank: 3Rank: 3

主题
4
注册时间
2016.4.8
在线时间
44 小时

发表于 2016.4.12 10:57:44 | 显示全部楼层
hufans417 发表于 2016.3.17 17:22
Error in seq.default(min(x, na.rm = T), max(x, na.rm = T), length.out = n +  :
  'from' cannot be N ...

这个情况要怎么解决呢

点评

bug已经修正了。  发表于 2016.4.13 18:08
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表