如何使用 Matplotlib 在条形图中显示每个条形的值?
在本文中,我们将看到如何使用 Matplotlib 在条形聊天中显示每个条形的值。在 matplotlib 的条形图中显示每个条形的值有两种不同的方法 -
- 使用 matplotlib.axes.Axes.text()函数。
- 使用 matplotlib.pyplot.text()函数。
示例 1:使用matplotlib.axes.Axes.text()函数:
该函数主要用于在图表中的位置添加一些文本。这个函数返回字符串,这总是与语法“ for index, value in enumerate(iterable) ”一起使用,iterable 作为 bar 值的列表来访问每个索引,iterable 中的值对,这样它就可以在每个 bar 添加文本.
Python3
import os
import numpy as np
import matplotlib.pyplot as plt
x = [0, 1, 2, 3, 4, 5, 6, 7]
y = [160, 167, 17, 130, 120, 40, 105, 70]
fig, ax = plt.subplots()
width = 0.75
ind = np.arange(len(y))
ax.barh(ind, y, width, color = "green")
for i, v in enumerate(y):
ax.text(v + 3, i + .25, str(v),
color = 'blue', fontweight = 'bold')
plt.show()
Python3
import matplotlib.pyplot as plt
x = ["A", "B", "C", "D"]
y = [1, 2, 3, 4]
plt.barh(x, y)
for index, value in enumerate(y):
plt.text(value, index,
str(value))
plt.show()
输出:
示例 2:使用matplotlib.pyplot.text()函数:
调用 matplotlib.pyplot.barh(x, height) 以 x 作为条形名称列表和 height 作为条形值列表以创建条形图。使用语法“ for index, value in enumerate(iterable) ”,将 iterable 作为 bar 值列表来访问 iterable 中的每个索引、值对。在每次迭代中,调用 matplotlib.pyplot.text(x, y, s) ,x 作为值,y 作为索引,s 作为 str(value) 来标记每个条的大小。
蟒蛇3
import matplotlib.pyplot as plt
x = ["A", "B", "C", "D"]
y = [1, 2, 3, 4]
plt.barh(x, y)
for index, value in enumerate(y):
plt.text(value, index,
str(value))
plt.show()
输出: