#coding:utf-8
__author__ = 'similarface' from collections import defaultdict
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])
except Exception,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 in PMRAdata.items():
PMRAdrawdata[k]=len(v) wegeneRawdrawdata={}
for k,v in wegeneRawData.items():
wegeneRawdrawdata[k]=len(v) v23andmePMRAdrawdata={}
for k,v in v23andmeData.items():
v23andmePMRAdrawdata[k]=len(v) import numpy as np,array
from matplotlib import pyplot 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 in X:
Y.append(PMRAdrawdata[i])
Y1=[]
for i in X:
Y1.append(wegeneRawdrawdata[i])
Y2=[]
for i in X:
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()

#coding:utf-8
__author__ = 'similarface'
import numpy as np,array
from matplotlib import pyplot as plt
plt.figure(figsize=(9,6))
X = [str(i) for i in np.arange(22)+1]+['X','Y','MT']
Y=np.array([196416,289003,70031,411185,79632,394154])
plt.bar(np.arange(6)+0.1,Y,width=0.3,facecolor = 'green',edgecolor = 'white')
plt.xticks(np.arange(6),['P_0_0.05','P_0.05_1','w_0_0.05','w_0.05_1','23me_0_0.05','23me_0.05_1'])
k=[902676.0,902676.0,596768.0,596768.0,610565.0,610565.0]
i=0
X=np.arange(6)
for x,y in zip(X,Y):
plt.text(x+0.25, y+0.1, '%.2f' % (y*100/k[i])+"%", ha='center', va= 'bottom')
i=i+1
plt.xlabel(u"频率标志")
plt.ylabel("Number of Markers")
plt.title(u"PMRA wegene 23andme 频率分布")
plt.show()

python画柱状图的更多相关文章

  1. python画柱状图并且输出到html文件

    import matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as pltfrom Cstring import StringIO y ...

  2. Python 中 plt 画柱状图和折线图

    1. 背景 Python在一些数据可视化的过程中需要使用 plt 函数画柱状图和折线图. 2. 导入 import matplotlib.pyplot as plt 3. 柱状图 array= np. ...

  3. 沉淀再出发:用python画各种图表

    沉淀再出发:用python画各种图表 一.前言 最近需要用python来做一些统计和画图,因此做一些笔记. 二.python画各种图表 2.1.使用turtle来画图 import turtle as ...

  4. Chartist.js-同时画柱状图和折线图

    最近几天都在研究chartist,因为echarts生成的图是位图,导成PDF的时候不够清晰.而chartist是搜到的免费插件中呼声较高的,基于SVG. 今天主要是想举一些代码例子给大家,介绍下如何 ...

  5. Matlab实现画柱状图坐标标签旋转

    引言: 在用matlab画柱状图或者其他图的时候,你是否碰到下图这种情况: 乍一看这个柱状图画的有馍有洋的,but,仔细一看你会发现,横坐标标签如果再长一点就不好看啦,甚至会重叠,就像这样: 这样的图 ...

  6. python 绘制柱状图

    python 绘制柱状图 import matplotlib.pyplot as plt import numpy as np # 创建一个点数为 8 x 6 的窗口, 并设置分辨率为 80像素/每英 ...

  7. MATLAB 画柱状图(/直方图)修改横坐标名称并使其横着显示

    使用MATLAB 画柱状图 ,即bar (x,y),其横坐标是默认 1.2.3.4.……的 % --v1 y1=[asum1,asum2,asum3,asum4,asum5,asum6,asum7,a ...

  8. js canvas画柱状图 没什么高端的 就是一篇偶尔思路的

    公司项目要用js画柱状图,本来想用个插件吧 chart.js 忽然一想 我们也用不了那么大的插件.自己写个吧,也能看看自己那点数学水平能够不! 有几个小亮点吧 1.函数x 和 函数y 对坐标进行了转化 ...

  9. python画樱花

    用python画简单的樱花 代码如下: import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, t): ...

随机推荐

  1. ZOJ-1239 Hanoi Tower Troubles Again!

    链接:ZOJ1239 Hanoi Tower Troubles Again! Description People stopped moving discs from peg to peg after ...

  2. 代码review之 isInfoEnable()

    上周没事扫扫系统原来的代码,突然发现这样一段代码: if(log.isInfoEnable()) { log.info("ID"+userID+"pwd"+us ...

  3. DELPHI XE5

    一直觉得DELPHI7之后,如果写WINDOWS桌面应用,没什么变化. 一直在痛苦,为什么DELPHI提供的控件那么丑陋,透明等什么功能都做的那么差. 一直在郁闷,新装的DELPHI都不带DEMO. ...

  4. 用最基本的EF+MVC+JQ+AJAX+bootstrap实现权限管理的简单实例 之登陆和操作权限

    先来一堆关于上篇文章的废话(不喜者点此隐藏) 今天把博客加了个小功能,就是点标题可以隐藏或展示相关内容,做法很傻,就是引用了bootstrap的两个css类和全部的js文件,其实这样的小功能完全应该自 ...

  5. nginx+iis、NLB、Web Farm、Web Garden、ARR

    nginx+iis实现负载均衡 在win2008R2上使用(NLB)网络负载均衡 NLB网路负载均衡管理器详解 [译文]Web Farm和Web Garden的区别? IIS负载均衡-Applicat ...

  6. 005_重写 Standard Delete Button

    以后会用JS直接删除,但是在加载.js时候出现问题,会在以后进一步追踪完善: <apex:page standardController="Opportunity" > ...

  7. 关于yuv格式

    首先,内存分布        1:YUV420          (1):I420:              YYYYYYYY UU VV    =>YUV420P          (2): ...

  8. $().each 和表单事件的坑

    在用each循环时 1.想结束循环 return false 2.想跳过某循环 return 3.想跳出function 不行,请切换成其他循环如 for 使用form表单事件 1.必须要有submi ...

  9. 【转】Source Insight的Alt + W键不能使用的解决办法

    转载地址:http://velep.com/archives/607.html 对于Source Insight 3.5,习惯于使用Alt + W组合键并配合数字键来切换文件窗口,带来无比的便利.但是 ...

  10. [课程设计]Scrum 3.4 多鱼点餐系统开发进度(下单详细信息页面&会员信息页面)

    Scrum 3.4 多鱼点餐系统开发进度(下单详细信息页面&会员信息页面) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队 ...