数据可视化 matplotlib 绘制柱状图 (二)

该代码示例展示了如何使用matplotlib库在Python中创建柱状图,包括基本柱状图和分组柱状图。设置了中文乱码显示,并对图表的边框、刻度线和颜色进行了自定义。同时,隐藏了x轴和y轴的刻度线,以及图表的右上边框,增强了图表的简洁性。
摘要由CSDN通过智能技术生成

导入相关库

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()

结果为

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值