python柱状图画出来连成一片_python画柱状图

本博客通过读取不同来源的基因数据文件,统计并绘制了PMRA、wegene及23andme三家机构提供的基因标记在各染色体上的分布情况。通过对数据进行预处理和分析,使用Python的matplotlib库实现了数据的可视化,展示了不同机构间基因标记数量的对比。
摘要由CSDN通过智能技术生成

#coding:utf-8

__author__ = 'similarface'

from collections importdefaultdict

PMRAdata=defaultdict(list)for line in open('/Users/similarface/Documents/PMRA_Marker_List_Detailed2.txt','r'):if not line.startswith("affy_snp_id"):

lines=line.strip().split('\t')

PMRAdata[lines[1]].append(lines[2])

wegeneRawData=defaultdict(list)for line in open('/Users/similarface/Documents/wegeneRawData.txt','r'):if not line.startswith("#"):

lines=line.strip().split('\t')try:

wegeneRawData[lines[1]].append(lines[2])exceptException,e:pass

print(wegeneRawData.keys())

v23andmeData=defaultdict(list)for line in open('/Users/similarface/Documents/genome_wang_mian_Full_20151021231213.txt','r'):if not line.startswith("#"):

lines=line.strip().split('\t')

v23andmeData[lines[1]].append(lines[2])

PMRAdrawdata={}for k,v inPMRAdata.items():

PMRAdrawdata[k]=len(v)

wegeneRawdrawdata={}for k,v inwegeneRawData.items():

wegeneRawdrawdata[k]=len(v)

v23andmePMRAdrawdata={}for k,v inv23andmeData.items():

v23andmePMRAdrawdata[k]=len(v)importnumpy as np,arrayfrom matplotlib importpyplot as plt

plt.figure(figsize=(9,6))

X= [str(i) for i in np.arange(22)+1]+['X','Y','MT']#X=np.arange(22)+1

#X是1,2,3,4,5,6,7,8,柱的个数#numpy.random.uniform(low=0.0, high=1.0, size=None), normal#uniform均匀分布的随机数,normal是正态分布的随机数,0.5-1均匀分布的数,一共有n个

Y=[]for i inX:

Y.append(PMRAdrawdata[i])

Y1=[]for i inX:

Y1.append(wegeneRawdrawdata[i])

Y2=[]for i inX:

Y2.append(v23andmePMRAdrawdata[i])

Y=np.array(Y)

Y1=np.array(Y1)

Y2=np.array(Y2)

plt.bar(np.arange(len(X)),Y,width=0.3,facecolor = 'green',edgecolor = 'white')

plt.bar(np.arange(len(X))+0.3,Y1,width = 0.3,facecolor = 'blue',edgecolor = 'white')

plt.bar(np.arange(len(X))+0.6,Y2,width = 0.3,facecolor = 'red',edgecolor = 'white')

plt.xticks(np.arange(len(X)),X)

plt.legend(('PMRA','wegene','23andme'))

plt.xlabel("chr")

plt.ylabel("Number of Markers")

plt.title(u"PMRA wegene 23andme 各染色体分布")

plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值