如何在Matplotlib中将条形图的值改为百分比?
要在Matplotlib中将条形图的值转换为百分比,可以按照以下步骤操作。
步骤
- 设置图形大小,并调整子图之间和周围的填充。
-
制作频率列表。
-
创建新图或激活现有图。
-
使用bar()方法制作条形图。
-
迭代条形图,找到每个图形的高度,并使用annotate()方法将值以百分比方式放置。
-
要显示图形,请使用Show()方法。
例子
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
frequencies = [7, 8, 5, 3, 6]
plt.figure()
p1 = plt.bar(np.arange(len(frequencies)), frequencies)
for rect1 in p1:
height = rect1.get_height()
plt.annotate( "{}%".format(height),(rect1.get_x() + rect1.get_width()/2, height+.05),ha="center",va="bottom",fontsize=15)
plt.show()
输出
它将产生以下输出−