导入相关库
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
设置中文乱码问题
matplotlib.rcParams['font.family'] = 'SimHei'
绘制图像
# 创建一个 1 行 2 列的子图,并指定第一个子图为当前活动子图
fig, ax = plt.subplots(1, 2)
plt.subplots_adjust(wspace=0.5) # 调整子图之间的距离
# 第一个子图:绘制基本柱状图
x_values = [1, 2, 3, 4, 5]
y_values = [10, 8, 6, 4, 2]
# x_values 和 y_values 分别指定柱子的 x 和 y 值。在此例中,x 值为 [1, 2, 3, 4, 5],y 值为 [10, 8, 6, 4, 2]。
# color 参数指定柱子的颜色,这里设置为淡蓝色。
# edgecolor 参数指定柱子的边框线颜色,使用黑色。
# linewidth 参数指定柱子边框线的宽度,这里设置为 2。
ax[0].bar(x_values, y_values, color='skyblue', edgecolor='black', linewidth=1)
ax[0].set_xlabel('柱状图1', fontsize=12)
ax[0].set_ylabel('Value', fontsize=12)
ax[0].set_title('柱状图')
ax[0].spines['right'].set_visible(False) # 隐藏右边框
ax[0].spines['top'].set_visible(False) # 隐藏顶部框
# which 参数指定哪些刻度线需要修改,这里设置为 'both' 表示同时修改 major 和 minor 刻度线。
# right 参数指定是否显示 y 轴右侧的 major 刻度线,这里设置为 False 以隐藏右侧刻度线。
# left 参数指定是否显示 y 轴左侧的 major 刻度线,这里设置为 False 以隐藏左侧刻度线。
ax[0].xaxis.set_tick_params(which='both', top=False, bottom=False) # 隐藏 x 轴刻度线
ax[0].yaxis.set_tick_params(which='both', right=False, left=False) # 隐藏 y 轴刻度线
# 第二个子图:绘制分组柱状图
x_values = np.array([1, 2, 3])
y_values1 = [10, 8, 6]
y_values2 = [7, 9, 11]
bar_width = 0.4
ax[1].bar(x_values - bar_width/2, y_values1, label='Group 1', width=bar_width, color='orange', edgecolor='black', linewidth=1)
ax[1].bar(x_values + bar_width/2, y_values2, label='Group 2', width=bar_width, color='darkred', edgecolor='black', linewidth=1)
ax[1].set_xlabel('柱状图2', fontsize=12)
ax[1].set_ylabel('Value', fontsize=12)
ax[1].set_title('柱状图')
ax[1].spines['right'].set_visible(False) # 隐藏右边框
ax[1].spines['top'].set_visible(False) # 隐藏顶部框
ax[1].legend(loc='best') # 显示图例
ax[1].xaxis.set_tick_params(which='both', top=False, bottom=False) # 隐藏 x 轴刻度线
ax[1].yaxis.set_tick_params(which='both', right=False, left=False) # 隐藏 y 轴刻度线
plt.show()
结果为