Python绘制多彩柱状图并标注具体数值的实现方案

云舒
云舒
发布时间:2026-10-13| 3人浏览过
原创

本文介绍如何使用Python的Matplotlib库绘制具有不同颜色的柱状图,并在柱子顶部精确显示数值。通过解析bar函数的参数及利用plt.text进行坐标定位,实现自定义颜色与数据标签的自动添加,附带完整代码示例供参考。

在Python中绘制柱状图相对简单,但如何为不同的柱子设置各异的颜色,并在柱子顶端准确显示对应的数值,是许多开发者关注的问题。

实现这一目标主要依赖于以下方法:

matplotlib.pyplot.bar(left, height, width=0.8, bottom=None, hold=None, data=None, **kwargs)

各参数含义如下:

left:定义每个柱形左侧的X轴坐标位置。

height:设定每个柱形的高度值。

width:控制柱形的宽度,默认为0.8。

bottom:指定柱形底部的Y轴坐标,默认为None。

color:指定柱形的显示颜色。

以下是具体的代码实现示例(使用前请确保已安装numpy和matplotlib库):

import numpy as np 
import matplotlib.mlab as mlab 
import matplotlib.pyplot as plt 
 
X = [0.5] 
XX=[1.5] 
Y = [20] 
YY=[23] 
#fig = plt.figure() 
plt.bar(X, Y, 1, color="blue") 
plt.bar(XX,YY,1,color="yellow") #使用不同颜色 
plt.xlabel("X-axis") #设置X轴Y轴名称 
plt.ylabel("Y-axis") 
plt.title("bar chart")
#使用text显示数值 
for a,b in zip(X,Y): 
 plt.text(a, b+0.05, '%.0f' % b, ha='center', va= 'bottom',fontsize=11) 
for a,b in zip(XX,YY): 
 plt.text(a, b+0.05, '%.0f' % b, ha='center', va= 'bottom',fontsize=11)  
plt.ylim(0,37)  #设置Y轴上下限 
plt.show()

执行上述代码后,生成的图形效果如下:

在前置代码中,x和y的值分别代表了柱状图中各柱子在坐标系中的位置。通过for循环遍历每一对x、y坐标(即a、b),利用plt.text函数在指定位置添加文字说明,从而生成数字标签。这种循环机制确保了每个柱子都能对应显示其标签。

具体而言,a, b+0.05表示在柱子对应x值、y值上方偏移0.05的位置处标注文字;'%.0f' % b指定了标注内容为每个柱子对应的y值(取整);ha='center'和va='bottom'分别设定了水平对齐和垂直对齐方式,fontsize则用于控制文字的大小。

以上关于Python绘制多彩柱状图并显示数值的方法即为全部内容,希望能对读者有所帮助,也欢迎大家继续支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。