matplotlib柱状图形上添加文本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
x = [1,2,3]
y1 = np.array([4,5,6])
y2 = np.array([5,6,7])
y3 = np.array([7,6,5])
width = 0.2
Sum = y1+y2+y3
per = 100*y2/Sum
 
#添加在中间,旋转90度
def add_mid(x,y,text):
    for x0,y0,text0 in zip(x,y,text):
        ax.text(x0,y0-y0/2,text0,rotation = 90)
#添加文本在图形顶部
def add_top(x,y,text):
    for x0,y0,text0 in zip(x,y,text):
        ax.text(x0,y0,text0)
#添加百分比
def add_per(x,y,text):
    for x0,y0,text0 in zip(x,y,text):
        ax.text(x0+width/2,y0,str(round(text0,2))+'%')
 
fig,ax =plt.subplots()
ax.bar(x,y1,width)
ax.bar(x,y2,width,bottom = y1)
ax.bar(x,y3,width,bottom = y1+y2)
#(x坐标,y坐标,文本)
add_mid(x,y1,y1)
add_top(x,Sum,Sum)
add_per(x,y1+y2/2,per)
plt.show()

  

 

 

posted @   华小电  阅读(432)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示