【Matplotlib】plt.bar() 函数:条形图(Bar Chart)、柱状图

plt.bar() —— 条形图(Bar Chart)

matplotlib.pyplot.bar() 用于绘制条形图,适用于 分类数据的可视化,如销售额、人口统计、实验结果对比


1. 语法

import matplotlib.pyplot as plt

plt.bar(x, height, width=0.8, color=None, edgecolor=None, label=None, alpha=None)

主要参数

参数作用
xX 轴类别(listarray
height条形高度(数值)
width条形宽度(默认 0.8
color条形颜色
edgecolor条形边框颜色
label条形标签(用于 plt.legend()
alpha透明度(0-1

2. 基本示例

2.1 画基本条形图

import matplotlib.pyplot as plt

# 数据
categories = ["A", "B", "C", "D"]
values = [10, 15, 7, 12]

# 绘制条形图
plt.bar(categories, values)

plt.title("Basic Bar Chart")
plt.xlabel("Categories")
plt.ylabel("Values")

plt.show()

📌 作用

  • plt.bar(x, height) 绘制垂直条形图
    在这里插入图片描述

2.2 调整颜色(color 参数)

plt.bar(categories, values, color=["red", "blue", "green", "purple"])
plt.show()

📌 作用

  • color 设置每个条形的颜色
    在这里插入图片描述

2.3 添加边框(edgecolor

plt.bar(categories, values, edgecolor="black")
plt.show()

📌 作用

  • edgecolor="black" 给每个条形添加黑色边框
    在这里插入图片描述

2.4 透明度(alpha 参数)

plt.bar(categories, values, color="blue", alpha=0.5)
plt.show()

📌 作用

  • alpha=0.5 调整透明度(适用于重叠柱状图)。
    在这里插入图片描述

3. 多组数据

3.1 并排条形图

import numpy as np

# 多组数据
values2 = [12, 10, 9, 14]
x = np.arange(len(categories))  # X 轴索引

plt.bar(x - 0.2, values, width=0.4, label="Group 1")
plt.bar(x + 0.2, values2, width=0.4, label="Group 2")

plt.xticks(x, categories)  # 设置 X 轴标签
plt.legend()
plt.show()

📌 作用

  • x - 0.2 左移第一组数据x + 0.2 右移第二组数据,避免重叠。
    在这里插入图片描述

3.2 堆叠条形图

plt.bar(categories, values, label="Group 1")
plt.bar(categories, values2, bottom=values, label="Group 2")

plt.legend()
plt.show()

📌 作用

  • bottom=values 让第二组数据叠加在第一组数据之上
    在这里插入图片描述

4. 横向条形图(plt.barh()

plt.barh(categories, values, color="green")
plt.xlabel("Values")
plt.ylabel("Categories")

plt.show()

📌 作用

  • plt.barh() 绘制横向条形图
    在这里插入图片描述

5. plt.bar() vs plt.hist()

plt.bar()plt.hist()
作用分类数据连续数据(频率分布)
X 轴类别数值区间
import numpy as np

data = np.random.randn(1000)
plt.hist(data, bins=20, color="blue", alpha=0.7)
plt.show()

📌 推荐

  • 类别数据plt.bar()
  • 数据分布plt.hist()
    在这里插入图片描述

6. 总结

plt.bar() 适用于类别数据可视化,支持 颜色、边框、透明度、堆叠条形图
常见参数

  • color 调整颜色edgecolor="black" 添加边框alpha=0.5 透明度
  • plt.barh() 绘制横向条形图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

彬彬侠

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

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

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

打赏作者

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

抵扣说明:

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

余额充值