#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. NoSQL数据库笔谈(转)

    NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...

  2. 接口测试第十二课(fidller过滤)(转)

    转自: 经常有人问我,如何只抓手机上某个应用的请求包?在使用fiddler抓手机包的过程中,fiddler会话框上瞬间就满屏了,因为它不仅抓到手机上的请求数据包,也抓到了PC端的网络请求包.这时候很难 ...

  3. vim编辑指令(转)

    跳跃指令 类似于游览器中的<前进><后退>按钮  CTRL-] -> 跟着link/tag转入 (follow link/tag)  CTRL-o -> 回到上一次 ...

  4. Centos上搭建基于L2TP的VPN

    1.一些预先准备的环境 yum install -y make gcc gmp-devel xmlto bison flex xmlto libpcap-devel lsof vim-enhanced ...

  5. Selenium Chrome浏览器的启动以及proxy设置

    Selenium Chrome浏览器的启动以及proxy设置   虽然WebDriver对Firefox的支持最好,之前写的脚本也都在Firefox浏览器运行,但最近项目做了整合,发现新整合的功能不太 ...

  6. 剑指offer——树的子结构 (JAVA代码)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 题目描述: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构). 解题思路: 首先看牛客网给出的测试用例: ...

  7. IE兼容性的注意点

    IE会将注释节点实现为元素,所以在IE中调用getElementsByTagName里面会包含注释节点,这个通常是不应该的 getElementById的参数在IE8及较低的版本不区分大小写 IE7及 ...

  8. Chapter 1: 随机事件及其概率

    1. 随机试验,样本点,样本空间 若试验具有下列特点: 在相同条件下可重复进行 每次试验的可能结果不止一个,且所有可能结果在实验前是已知的 实验前不能确定哪一个结果会发生 则称该试验为随机试验,常记为 ...

  9. Mybatis配置文件

    XML 映射配置文件 MyBatis 的配置文件包含了设置(settings)和属性(properties)信息. properties 这些属性都是可外部配置且可动态替换的,既可以在典型的 Java ...

  10. Oracle客户端配置

    1.  打开开发生产数据库系统,点击下载Oracle_12C_Client32,并且解压缩. 2.  找到文件下的setup.exe文件,并且执行. 3.  等待数秒,在如下界面中选择第二项,管理员, ...