用python画一个柱状图可能用到的代码【完整版】

画柱状图

导入包

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)

绘图结果大致为

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_刘文凯_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值