前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pyplot只有两个数值做barplot

pyplot只有两个数值做barplot

作者头像
生信编程日常
发布2020-08-31 10:05:26
5050
发布2020-08-31 10:05:26
举报
文章被收录于专栏:生物信息学、python、R、linux

只计算出了两个比例值,想用这两个比例做出barplot,在Stack Overflow翻了好些帖子才找到怎么做:

代码语言:javascript
复制
import matplotlib.pyplot as plt
hit_near = sum(table[table['hit or non-hit']==1]['Near FANTOM enhancer']==1)/(table[table['hit or non-hit']==1].shape[0])
nonhit_near = sum(table[table['hit or non-hit']==0]['Near FANTOM enhancer']==1)/(table[table['hit or non-hit']==0].shape[0])

fig = plt.figure(figsize=(3,6))
barlist = plt.bar(['non-hit', 'hit'], [nonhit_near*100, hit_near*100], width=0.5, )
barlist[0].set_color('r')
barlist[1].set_color('blue')
plt.ylabel('%')
plt.title('Gene Body < 1kb from FANTOM Enhancer')
plt.show()

其中, plt.bar()中第一组list是横坐标,第二组是纵坐标; 宽度为0.5; 赋值给barlist变量,barlist[0].set_color给第一根柱子设置为红色;

如果想修改坐标刻度的话,可以:

代码语言:javascript
复制
from matplotlib.ticker import MultipleLocator
ymajorLocator = MultipleLocator(1)
ax=plt.gca()
ax.yaxis.set_major_locator(ymajorLocator)

这样可以把纵坐标修改为间隔为1.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档