导读:本期聚焦于小伙伴创作的《Python怎么用bar()函数画柱状图并设置颜色实现分类对比》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《Python怎么用bar()函数画柱状图并设置颜色实现分类对比》有用,将其分享出去将是对创作者最好的鼓励。

在Python的数据可视化场景中,使用matplotlib库的bar()函数绘制柱状图是非常常见的操作,通过合理设置参数可以轻松实现分类数据的对比展示,还能自定义柱子的颜色让图表更清晰易读。

Python怎么用bar()函数画柱状图并设置颜色实现分类对比

bar()函数基础用法

bar()函数是matplotlib.pyplot模块中用于绘制柱状图的核心函数,最基础的调用只需要传入x轴位置和柱子高度两个参数。下面是一个最简单的单分类柱状图示例:

import matplotlib.pyplot as plt

# 分类标签
categories = ['A', 'B', 'C', 'D']
# 对应数值
values = [12, 18, 9, 15]

# 绘制柱状图
plt.bar(categories, values)
plt.title('单分类柱状图')
plt.xlabel('分类')
plt.ylabel('数值')
plt.show()

用bar()实现分类对比图

要实现多分类数据的对比,需要手动调整不同分类柱子的x轴位置,避免柱子重叠。通常的做法是给每个分类的柱子设置一个偏移量,让它们并排显示。

假设我们有两组分类数据需要对比,实现代码如下:

import matplotlib.pyplot as plt
import numpy as np

# 分类标签
categories = ['A', 'B', 'C', 'D']
# 两组数据
values1 = [12, 18, 9, 15]
values2 = [10, 20, 12, 13]

# 将分类标签转换为数值位置
x = np.arange(len(categories))
# 柱子宽度
width = 0.35

# 绘制第一组柱子,位置向左偏移width/2
plt.bar(x - width/2, values1, width, label='分类1')
# 绘制第二组柱子,位置向右偏移width/2
plt.bar(x + width/2, values2, width, label='分类2')

# 设置x轴刻度标签
plt.xticks(x, categories)
plt.title('双分类对比柱状图')
plt.xlabel('分类')
plt.ylabel('数值')
plt.legend()
plt.show()

bar()函数颜色设置方法

bar()函数提供了多种颜色设置方式,可以根据需求选择不同的设置方法。

1. 全局单色设置

通过color参数可以给所有柱子设置统一的颜色,支持颜色名称、十六进制颜色码等格式:

import matplotlib.pyplot as plt

categories = ['A', 'B', 'C', 'D']
values = [12, 18, 9, 15]

# 设置所有柱子为蓝色
plt.bar(categories, values, color='blue')
# 也可以用十六进制颜色码
# plt.bar(categories, values, color='#FF5733')
plt.title('单色柱状图')
plt.show()

2. 每个柱子不同颜色

color参数传入一个颜色列表,列表长度需要和柱子数量一致,就可以给每个柱子设置不同的颜色:

import matplotlib.pyplot as plt

categories = ['A', 'B', 'C', 'D']
values = [12, 18, 9, 15]
# 每个柱子对应一个颜色
colors = ['red', 'green', 'blue', 'orange']

plt.bar(categories, values, color=colors)
plt.title('多色柱状图')
plt.show()

3. 按分类映射颜色

如果是多分类对比的场景,可以给每个分类固定一个颜色,让不同组的同一分类柱子颜色一致,提升图表可读性:

import matplotlib.pyplot as plt
import numpy as np

categories = ['A', 'B', 'C', 'D']
values1 = [12, 18, 9, 15]
values2 = [10, 20, 12, 13]
x = np.arange(len(categories))
width = 0.35

# 每个分类对应的颜色
category_colors = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728']

# 绘制第一组柱子,颜色按分类取
plt.bar(x - width/2, values1, width, color=category_colors, label='分类1')
# 绘制第二组柱子,颜色按分类取
plt.bar(x + width/2, values2, width, color=category_colors, label='分类2')

plt.xticks(x, categories)
plt.title('按分类映射颜色的对比柱状图')
plt.legend()
plt.show()

常见问题说明

  • 如果柱子之间的间距不合适,可以调整width参数,数值越小柱子越窄,间距越大
  • 颜色参数还支持RGB元组格式,比如(0.1, 0.2, 0.5),每个数值范围是0到1
  • 如果需要给柱子添加数值标签,可以遍历柱子对象,用text()方法在柱子顶部添加对应数值

通过上述方法,就可以灵活使用bar()函数绘制出满足需求的分类对比柱状图,并且自定义合适的颜色样式,适配不同的数据展示场景。

Pythonbar()函数柱状图分类对比图颜色设置修改时间:2026-06-12 04:18:26

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。