python画柱状图
#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画柱状图的更多相关文章
- python画柱状图并且输出到html文件
		
import matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as pltfrom Cstring import StringIO y ...
 - Python 中 plt 画柱状图和折线图
		
1. 背景 Python在一些数据可视化的过程中需要使用 plt 函数画柱状图和折线图. 2. 导入 import matplotlib.pyplot as plt 3. 柱状图 array= np. ...
 - 沉淀再出发:用python画各种图表
		
沉淀再出发:用python画各种图表 一.前言 最近需要用python来做一些统计和画图,因此做一些笔记. 二.python画各种图表 2.1.使用turtle来画图 import turtle as ...
 - Chartist.js-同时画柱状图和折线图
		
最近几天都在研究chartist,因为echarts生成的图是位图,导成PDF的时候不够清晰.而chartist是搜到的免费插件中呼声较高的,基于SVG. 今天主要是想举一些代码例子给大家,介绍下如何 ...
 - Matlab实现画柱状图坐标标签旋转
		
引言: 在用matlab画柱状图或者其他图的时候,你是否碰到下图这种情况: 乍一看这个柱状图画的有馍有洋的,but,仔细一看你会发现,横坐标标签如果再长一点就不好看啦,甚至会重叠,就像这样: 这样的图 ...
 - python 绘制柱状图
		
python 绘制柱状图 import matplotlib.pyplot as plt import numpy as np # 创建一个点数为 8 x 6 的窗口, 并设置分辨率为 80像素/每英 ...
 - MATLAB 画柱状图(/直方图)修改横坐标名称并使其横着显示
		
使用MATLAB 画柱状图 ,即bar (x,y),其横坐标是默认 1.2.3.4.……的 % --v1 y1=[asum1,asum2,asum3,asum4,asum5,asum6,asum7,a ...
 - js canvas画柱状图 没什么高端的 就是一篇偶尔思路的
		
公司项目要用js画柱状图,本来想用个插件吧 chart.js 忽然一想 我们也用不了那么大的插件.自己写个吧,也能看看自己那点数学水平能够不! 有几个小亮点吧 1.函数x 和 函数y 对坐标进行了转化 ...
 - python画樱花
		
用python画简单的樱花 代码如下: import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, t): ...
 
随机推荐
- Cassandra 键空间(keyspace),表(table)
			
查看用户下信息: describe cluster; desc cluster; 查看所有keyspace: describe keyspaces; desc keyspaces; 查看key ...
 - ebox学习之SD & fat 配置
			
fatfs可配置项很多,相关的配置均在ffconfig.h文件中 /*----------------------------------------------------------------- ...
 - Masonry 创建Button的简单使用
			
代码创建控制器,控件在实际开发中很实用,方便快捷,而Masonry第三方框架更是将代码创建效率提高了很多! 如何代码创建?如何使用第三方框架? 1.首先删除系统自带的SB,详见下图 2.在AppDel ...
 - 在DOM中搜索元素
			
方法 现代浏览器中使用XPath document.getElementById document/node.getElementsByTagName Limit search by parent e ...
 - .NET工程师技术进阶
			
通常,一个人对技术的掌握程度可以分为精通.熟练.熟悉.了解,详细解析如下: 精通:能够掌握此技术的85%技术要点以上,使用此技术时间超过两年,并使用此技术成功实施5个以上的项目.能使用此技术优化性能或 ...
 - 使用httpclient发送http请求
			
先来个httpclient的maven依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> &l ...
 - Apache_proxy负载均衡和Session复制
			
今天上网查了查资料,之前使用apache的jk模块做负载均衡.后来觉得jk的负载配置有点死板,只能按照负载权重值来进行请求的分发,没有做到比较智能的负载平衡,并且使用mod_jk访问页面发现确实比较慢 ...
 - [linux系统]--spawn 用法
			
spawn与except组合可达到远程登录设备执行命令的作用 下面是登录设备的一段代码 #!/usr/bin/expect -f user=root host=1.1.1.1 password=roo ...
 - go语言-helloworld
			
1.非root用户,先在home目录下载 wget https://storage.googleapis.com/golang/go1.7.3.src.tar.gz 2.解压包 tar -xzf go ...
 - JCEF 如何修改右键菜单项(JCEF在右键菜单中添加开发者选项-show dev tools)
			
需求: 在界面的右键事件中添加一个打开开发者选项的菜单(Show Dev Tools) 所以我们可以看到的是在界面上右键,会有默认的一些菜单项(前进,后退,打印,查看源码),而这些功能并不一定是我们需 ...