python用matplotlib绘图添加标签怎么添加,我这么添加标签乱飞

import matplotlib.pyplot as plt
import matplotlib
matplotlib.rc('font',family='MicroSoft YaHei')
interval=[0,5,10,15,20,25,30,35,40,45,60,90]
width=[5,5,5,5,5,5,5,5,5,5,5,15,30,60]
quantity=[836,2737,3723,3569,3926,1438,3273,642,824,613,215,47]
plt.figure(figsize=(20,8),dpi=60)

plt.bar(range(len(quantity)),quantity,width=1)
x_tick=[i-0.5 for i in range(13)]
x=interval+[150]
plt.xticks(x_tick,x)
for a,b in zip(x,quantity):
    print(a,b)
    plt.text(a,b,'%d' % b)
plt.grid()
plt.show()

zip里面改了一下, x只是显示的内容, x_tick才是真正的位置:

import matplotlib.pyplot as plt
import matplotlib
matplotlib.rc('font',family='MicroSoft YaHei')
interval=[0,5,10,15,20,25,30,35,40,45,60,90]
width=[5,5,5,5,5,5,5,5,5,5,5,15,30,60]
quantity=[836,2737,3723,3569,3926,1438,3273,642,824,613,215,47]
plt.figure(figsize=(20,8),dpi=60)

plt.bar(range(len(quantity)),quantity,width=1)
x_tick=[i-0.5 for i in range(13)]
x=interval+[150]
plt.xticks(x_tick,x)
for a,b in zip(x_tick,quantity):
    print(a,b)
    plt.text(a+0.4,b+10,'%d' % b)
plt.grid()
plt.show()

 

x轴数数值, 就根据数值大小来确定位置的.

 plt.text(a,b,'%d' % b)

这里面的a是x, x为什么加上150呢

import matplotlib.pyplot as plt
import matplotlib

matplotlib.rc('font', family='MicroSoft YaHei')
interval = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55]
width = [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
quantity = [836, 2737, 3723, 3569, 3926, 1438, 3273, 642, 824, 613, 215, 47]
plt.figure(figsize=(20, 8), dpi=60)

plt.bar(interval, quantity, width=3)
x_tick = [i - 0.5 for i in range(13)]
x = interval + [150]
plt.xticks(x_tick, x)
for a, b in zip(x, quantity):
    print(a, b)
    plt.text(a, b, '%d' % b)
plt.grid()
plt.show()

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y