画柱状图
导入包
import torch as t
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import joblib
import matplotlib as mpl
设置默认字体格式为"Times New Roman"
font_name = 'Times New Roman'
mpl.rcParams['font.family'] = font_name
通过rcParams字典将’font.family’键设置为"Times New Roman"来将Matplotlib的默认字体设置为"Times New Roman"。请注意,为了使默认字体适用于所有文本元素,包括标题、标签和刻度标签,你需要在绘制图形之前进行全局设置。
绘图
numb= np.load('data.npy‘) # 第一行为x,第二行为y。
y = np.log10(numb[1])
y[y == 0] = 0.1
x = numb[0]
plt.figure(figsize=(12, 4), dpi=300)
plt.bar(x, y, color=['green',],align='center', zorder=10) # x,y
使用figure()函数的figsize参数将图形的宽度设置为8英寸,高度设置为4英寸。通过调整figsize参数的值,可以改变图上刻度之间的距离大小。
设置各种参数并特征格式
plt.ylabel('Frequency (log10)', fontweight='bold') #
plt.xlabel('CDR3 sequence length', fontweight='bold') #
# plt.title('Bar Chart') # 图表标题
plt.xticks(range(max(x)+1), range(max(x)+1))
plt.yticks(np.arange(0, max(y)+0.5, 0.5), np.arange(0, max(y)+0.5, 0.5))
plt.ylim([-0.2, 6.8])
plt.xlim([0, max(x)+1])
plt.grid(linestyle='--', zorder=1)
ax = plt.gca()
ax.axhline(0, color='black', linewidth=1.1)
ax.spines['bottom'].set_linewidth(1.4) # x 轴下边框线宽度
ax.spines['left'].set_linewidth(1.4) # y 轴左边框线宽度
ax.tick_params(axis='x', width=1.4) # x 轴刻度线宽度
ax.tick_params(axis='y', width=1.4) # y 轴刻度线宽
在这个例子中,我们使用xlabel()和ylabel()函数来设置X轴和Y轴的标签。首先创建了一个简单的折线图。然后,使用 plt.gca() 获取当前轴对象。通过 spines 字典对象,我们设置了 x 轴和 y 轴的线宽,其中 ‘bottom’ 对应 x 轴下边框,‘left’ 对应 y 轴左边框。我们还使用 tick_params() 方法设置了 x 轴和 y 轴的刻度线宽度.
在这个例子中,我们首先创建了一个简单的折线图。然后,使用 plt.gca() 获取当前轴对象,并使用 axhline() 函数在 y 轴上绘制一条水平线。axhline() 函数的第一个参数指定要绘制的水平线的位置,这里设为 0 表示绘制 y 轴上的 0 刻度线。color 参数指定线的颜色,这里设为 ‘black’ 表示黑色,linewidth 参数指定线的宽度,这里设为 2。这样就将 y 轴上的 0 刻度线加粗了。
保存图像
file_name = ‘B_chart’
file_format = ‘tif’ # 可以选择其他支持的格式,如:‘pdf’, ‘svg’, ‘jpg’, ‘jpeg’, ‘bmp’ 等
plt.savefig(f’./img/{file_name}.{file_format}', format=file_format)
绘图结果大致为
目录
- 画柱状图
- 导入包
- 设置默认字体格式为"Times New Roman"
- 绘图
- 设置各种参数并特征格式
- 保存图像
- 绘图结果大致为