我有一个制表符分隔的文件,其中包含区域和在这些区域中找到的各自的生物实体(我检查了67个,因此您说每个区域都检查了这67个实体的存在与否及其频率)。在
所有这些数据都是表格格式的。在
示例数据如下所示
Region ATF3 BCL3 BCLAF1 BDP1 BRF1 BRF2 Brg1 CCNT2 CEBPB CHD2 CTCF CTCFL E2F6 ELF1
chr1:109102470:109102970 0 0 1 0 0 0 0 1 0 0 4 1 4 1
chr1:110526886:110527386 0 0 0 0 0 0 0 1 1 0 4 1 0 1
chr1:115300671:115301171 0 0 1 0 0 0 0 0 1 1 4 1 1 1
chr1:115323308:115323808 0 0 0 0 0 0 0 1 0 0 2 1 1 0
chr1:11795641:11796141 1 0 0 0 0 0 0 1 2 0 0 0 1 0
chr1:118148103:118148603 0 0 0 0 0 0 0 1 0 0 0 0 0 1
chr1:150521397:150521897 0 0 0 0 0 0 0 2 2 0 6 2 4 0
chr1:150601609:150602109 0 0 0 0 0 0 0 0 3 2 0 0 1 0
chr1:150602098:150602598 0 0 0 0 0 0 0 0 1 1 0 0 0 0
chr1:151119140:151119640 0 0 0 0 0 0 0 1 0 0 0 0 1 0
chr1:151128604:151129104 0 0 0 0 0 0 0 0 0 0 3 0 0 0
chr1:153517729:153518229 0 0 0 0 0 0 0 0 0 0 0 0 0 0
chr1:153962738:153963238 0 0 0 0 0 0 0 1 1 0 0 0 0 1
chr1:154155682:154156182 0 0 0 0 0 0 0 1 0 0 0 0 1 1
chr1:154155725:154156225 0 0 0 0 0 0 0 1 0 0 0 0 1 1
chr1:154192154:154192654 0 0 0 0 0 0 0 0 0 0 0 0 0 0
chr1:154192824:154193324 1 0 0 0 0 0 0 1 0 1 0 0 1 1
chr1:154192943:154193443 1 0 0 0 0 0 0 1 0 2 0 0 1 1
chr1:154193273:154193773 1 0 0 0 0 0 0 1 0 2 0 0 2 1
chr1:154193313:154193813 0 0 0 0 0 0 0 1 0 2 0 0 2 1
chr1:155904188:155904688 0 0 0 0 0 0 0 1 0 0 0 0 1 1
chr1:155947966:155948466 0 0 0 0 0 0 0 1 0 0 3 0 0 1
chr1:155948336:155948836 0 0 0 0 0 0 0 1 0 0 5 1 0 1
chr1:156023516:156024016 0 0 0 0 0 0 0 1 0 1 4 1 1 1
chr1:156024016:156024516 0 1 1 0 0 0 0 0 0 2 0 0 1 1
chr1:156163229:156163729 0 0 0 0 0 0 0 0 0 0 2 0 0 1
chr1:160990902:160991402 0 0 0 0 0 0 0 0 0 1 0 0 1 2
chr1:160991133:160991633 0 0 0 0 0 0 0 0 0 1 0 0 1 2
chr1:161474704:161475204 0 0 0 0 0 0 0 0 0 0 0 0 0 0
chr1:161509530:161510030 0 0 1 1 1 0 0 0 1 0 1 0 0 1
chr1:161590964:161591464 0 0 0 1 1 0 0 0 0 0 0 0 0 0
chr1:169075446:169075946 0 0 0 0 0 0 0 2 0 0 4 0 3 0
chr1:17053279:17053779 0 0 0 1 0 0 0 0 0 1 0 0 0 0
chr1:1709909:1710409 0 0 0 0 0 0 0 2 0 1 0 0 3 1
chr1:1710297:1710797 0 0 0 0 0 0 0 0 0 1 6 0 1 1
现在我怎样才能把它放在热图中从浅红色到深红色(取决于频率,如果没有的话是白色的)?在
有没有其他更好的方法来表示这种类型的数据?在
由于对我另一个答案的评论,OP有另一个关于2d集群搜索的问题。这里有一些答案。在
从我的库eegpy获取的,我使用一个方法find_clusters。它在2d数组中执行遍历,查找高于/低于给定阈值的所有簇。在
这是我的代码:
它给出了形状的图像:
clusters
是布尔二维数组的列表(True/False)。每个数组表示一个簇,其中每个布尔值表示一个特定的“点”是否是该簇的一部分。你可以在任何进一步的分析中使用它。在编辑
现在我们来看看集群的乐趣
^{pr2}$我过滤所有包含5个以上点的簇。我只画这些。您也可以在每个集群中使用
data
的和。然后我按大小对这些大团进行排序,降序排列。在最后,我打印所有大型集群的摘要,包括所有集群的名称 在对面。
使用Matplotlib
我忽略了第一行和第一列(如果标签需要它们,我们需要更改)。对于其余的数据,所有的零值都被屏蔽(因此它们在图中显示为白色),然后这些数据被绘制成彩色编码图。在
imshow
有一系列其他参数来控制结果,例如原点(下/上)、纵横比(auto/equal/some\u ratio)。在你写的是地区-你指的是地理区域吗?然后您可能需要查看Basemap Toolkit for Matplotlib来创建颜色编码的映射。在
编辑
新的要求,新的例子
^{pr2}$现在我第一次读第一行的标签。我将关键字参数
aspect
添加到imshow
-调用中。我为每个因素创建标签。在另外,我用
subplots_adjust
调整绘图的位置。您可以使用这些参数,直到它们满足您的需要。在现在的结果是:
如果您想要y轴的其他记号,请使用
plt.yticks
,这与我的示例中的xticks
类似。在相关问题 更多 >
编程相关推荐