Python是一种多用途、高级、解释型编程语言。它是一种动态类型语言,具有高级内置数据结构,支持面向对象编程、结构化编程和函数式编程方式。Python语言旨在简化代码的阅读、编写和维护,同时也支持标准库和不同的第三方模块的使用。
条形图是一种常用的数据可视化方式,在Python中使用Matplotlib库可以轻松地生成条形图。然而,有时候需要在条形图中添加数据标签,以便更好地阐述数据,本文将从以下几个方面详细阐述Python条形图添加数据标签。
一、新增数据标签
在Python中使用Matplotlib库生成条形图,并新增数据标签需要使用以下代码:
import matplotlib.pyplot as plt
# 数据
x = [1, 2, 3, 4, 5]
y = [10, 24, 36, 40, 70]
# 生成条形图
plt.bar(x, y)
# 新增数据标签
for a, b in zip(x, y):
plt.text(a, b+2, '%.0f' % b, ha='center', va='bottom')
plt.show()
上述代码中的 plt.text 方法用于新增数据标签,其中 a,b 分别表示条形图中每个条形图的 (x,y) 坐标位置。%
二、标签位置、字体及字号
Python条形图添加数据标签时,需要熟悉数据标签的位置、字体及字号。下面是一个例子,其中给出了不同位置、字体及字号的数据标签。
import matplotlib.pyplot as plt
# 数据
x = [1, 2, 3, 4, 5]
y = [10, 24, 36, 40, 70]
# 生成条形图
plt.bar(x, y)
# 新增数据标签
for a,b in zip(x, y):
plt.text(a, b+2, '%.0f' % b, ha='center', va='bottom',fontdict={'fontname': 'Comic Sans MS', 'fontsize': 10})
# 修改数据标签位置
plt.rcParams['xtick.bottom'] = plt.rcParams['xtick.labelbottom'] = False
plt.rcParams['xtick.top'] = plt.rcParams['xtick.labeltop'] = True
plt.show()
fontdict 参数用于设置字体及字号,可根据需要自行修改。而 ha 参数表示水平对齐方式,可以设置为 ‘left’, ‘right’, ‘center’。va 参数表示垂直对齐方式,可以设置为 ‘top’, ‘bottom’, ‘center’, ‘baseline’。
三、数据标签颜色及边框
另外还可以对数据标签进行颜色和边框的设置,下面是第三个例子,其中给出了数据标签颜色及边框的设置。
import matplotlib.pyplot as plt
# 数据
x = [1, 2, 3, 4, 5]
y = [10, 24, 36, 40, 70]
# 生成条形图
plt.bar(x, y)
# 新增数据标签
for a,b in zip(x, y):
plt.text(a, b+2, '%.0f' % b, ha='center', va='bottom',fontdict={'fontname': 'Comic Sans MS', 'fontsize': 10},
bbox=dict(boxstyle='round,pad=0.4', fc='yellow', alpha=0.5, ec='black'))
plt.show()
其中 bbox 参数用于设置边框的属性,参数 boxstyle 表示边框样式,可设置为 ’round’, ‘square’, ’round4′, ‘sawtooth’, ‘larrow’, ‘rarrow’, ‘darrow’, ‘uarrow’, ‘circle’ 等;参数 ec 表示边框颜色,可选值包括颜色名称或者RGB颜色;参数 fc 表示填充颜色,可选值包括颜色名称或者RGB颜色;参数 alpha 表示透明度。
四、条形图标签旋转
在Python条形图添加旋转标签时,需要根据需要旋转数据标签的角度。下面的代码展示了如何使用 Matplotlib 库旋转条形图标签。
import matplotlib.pyplot as plt
# 数据
x = ['苹果', '橘子', '香蕉', '西瓜']
y = [10, 24, 36, 40]
# 生成条形图
plt.bar(x, y)
# 旋转标签
plt.xticks(rotation=45)
plt.show()
其中 plt.xticks 方法用于设置 x 轴的标签值及相关属性,rotation=45 表示将标签旋转 45 度。
五、修改标签格式
在Python条形图添加数据标签时,有时候需要对标签进行格式化或修改。下面的代码演示了如何格式化数据标签。
import matplotlib.pyplot as plt
# 数据
x = ['苹果', '橘子', '香蕉', '西瓜']
y = [10, 24, 36, 40]
# 生成条形图
plt.bar(x, y)
# 新增数据标签
for a, b in enumerate(y):
plt.text(a, b+2, '{:.0f}%'.format(b/sum(y)*100), ha='center', fontweight='bold')
plt.show()
这里使用了 enumerate 函数来获取每个标签的索引值。使用 ‘{:.0f}%’ 格式化数据标签为百分比格式,并使用 fontweight 参数设置为粗体字体。sum(y) 计算 y 值的总和,并将其用于计算百分比值,从而格式化数据标签。
总结
本文从新增数据标签、标签位置、字体及字号、数据标签颜色及边框、条形图标签旋转及修改标签格式等方面,详细阐述了Python条形图添加数据标签的方法和技巧。希望读者能够根据自己的需要灵活地应用这些技巧,生成更加美观、实用的条形图。
原创文章,作者:OOJVY,如若转载,请注明出处:https://www.506064.com/n/374906.html