手记

matplotlib pyplot

将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


0人推荐
随时随地看视频
慕课网APP