为了账号安全,请及时绑定邮箱和手机立即绑定

matplotlib pyplot

标签:
Java

将txt文件数据用python 包画成箱型图

import matplotlib.pyplot as plt
import pandas as pd
from matplotlib import rcParams

正常显示中文

plt.rcParams['font.sans-serif'] = ['Simhei']

颜色配置

COLOR_1 = 'blue'
COLOR_2 = 'red'

图像配置

fig = plt.figure(figsize=(60, 60), dpi=200)
rcParams["pdf.fonttype"] = 42

字体配置

rcParams.update({'font.size': 20, 'font.family': 'STIXGeneral', 'mathtext.fontset': 'stix'})

坐标配置

plt.ylabel('gene')
plt.title('GENE DATA')

读取文件

data_path = r'C:\Users\wisdom\PycharmProjects\xxx.txt'
df = pd.read_csv(data_path, index_col='gene', sep='\t')

基因分组列选取

red_box = df[
['BIBR1', 'BTRO3', 'BTRO4']]
blue_box = df[
['PC1', 'ITWB15']]

将数据导入箱图

b = plt.boxplot(blue_box, labels=blue_box.index, patch_artist=True, vert=False, showcaps=True,
# 异常值设置
flierprops={'marker': '.', 'markerfacecolor': COLOR_1, 'color': COLOR_1, 'markeredgecolor': COLOR_1,'linewidth':0.5},
# 箱体设置
boxprops={'color': COLOR_1, 'facecolor': COLOR_1, 'linestyle': '--', 'alpha': 0.5},
# 中间轴线设置
capprops={'color': COLOR_1, 'linewidth': '1.0', 'linestyle': '-'},
# 尾端须线设置
whiskerprops={'color': COLOR_1, 'linestyle': '--', 'linewidth': 1.0})

箱体颜色线条设置

for patch in b['boxes']:
patch.set(color=COLOR_1, linewidth=0.5)
for median in b['medians']:
median.set(color=COLOR_1, linewidth=1.5)

r = plt.boxplot(red_box, labels=red_box.index, patch_artist=True, vert=False, showcaps=True,
flierprops={'marker': '.', 'markerfacecolor': COLOR_2, 'color': COLOR_2, 'markeredgecolor': COLOR_2},
boxprops={'color': COLOR_2, 'facecolor': COLOR_2, 'linestyle': '--', 'alpha': 0.5},
capprops={'color': COLOR_2, 'linewidth': '1.0', 'linestyle': '-'},
whiskerprops={'color': COLOR_2, 'linestyle': '--', 'linewidth': 1.0})
for patch in r['boxes']:
patch.set(color=COLOR_2, linewidth=0.5)
for median in r['medians']:
median.set(color=COLOR_2, linewidth=1.5)

保存PDF

plt.savefig('gene.pdf', format='pdf')

显示图形

plt.show()



作者:黄臻
链接:https://www.jianshu.com/p/5f44f0e95ebe


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消