将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