Это второй день моего участия в августовском испытании обновлений, подробности о мероприятии:Испытание августовского обновления
Всем привет, меня зовут Кай.
С использованиемmatplotlib
При рисовании гистограммы часто бывает необходимо отобразить данные на гистограмме, сегодня мы кратко представим это.
метод plt.text
существуетmatplotlib 3.4.0
В предыдущих версиях обычно использовалосьplt.text
способ рисования меток данных.plt.text
Как следует из названия, указанный текст можно нарисовать в любом месте изображения, поэтому нам нужно только нарисовать соответствующее значение в точке координат соответствующей точки данных, чтобы реализовать отображение метки данных.
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False
fig, ax = plt.subplots(figsize=(8,4), dpi=100)
y_data = [ 29, 21, 17, 14, ]
x_data = ('中国', '美国', '日本', '澳大利亚')
# 柱状图颜色
color = 'coral'
# 柱状图
bar = plt.bar(x_data, y_data, 0.5, color=colors[1],edgecolor='grey')
# 设置标题
ax.set_title('东京奥运会金牌数-截止8月2日',fontsize=14,y=1.05)
# 设置坐标轴标题
ax.set_ylabel("",fontsize = 12,color = 'black',alpha = 0.7,rotation=360)
# 设置Y轴区间
ax.set_ylim(0,30)
# 显示数据标签
for a,b in zip(x_data, y_data):
plt.text(a,b,
b,
ha='center',
va='bottom',
)
# 边框隐藏
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
ax.spines['bottom'].set_visible(False)
ax.spines['left'].set_visible(False)
заplt.text(x, y, s, fontdict=None, **kwargs)
x,y
: где находится текст (метка)
s
: текст для отображения
ha
: горизонтальное выравнивание (необязательно: «по центру», «справа», «слева»)
va
: вертикальное выравнивание (необязательно: 'центр', 'сверху', 'снизу', 'базовая линия', 'центр_базовая линия')
Метод plt.bar_label
в последнемmatplotlib
Версия(3.4.0 и выше), находим, что существует метод функцииplt.bar_label
Он может хорошо реализовать требования к отображению меток данных для гистограмм (включая гистограммы).
plt.bar_label(
container,
labels=None,
*,
fmt='%g',
label_type='edge',
padding=0,
**kwargs,
)
container
:bar
илиbarh
возвращаемое значение функции
labels
: текстовый список меток, значение по умолчанию — None, то есть данные столбца, отформатированные с параметром fmt (высота столбца
fmt
: Строка формата метки, значение по умолчанию — «%g», то есть значение метки отформатировано как число с плавающей запятой.
label_type
: Тип метки, необязательно: «край», «центр». По умолчанию «край» Для обычных гистограмм этот параметр используется только для управления положением меток, для гистограмм с накоплением разные типы меток соответствуют разным значениям меток. 'край': метка находится в конце столбца 'center': метка находится в центре столбца
padding
: расстояние между меткой и столбцом в пикселях, значение по умолчанию равно 0.
В исходном коде замените часть кода, отображающую метку данных.
# 显示数据标签
plt.bar_label(bar, label_type='edge')
Ссылка на официальный сайт:
Вышеупомянутое простое содержание на этот раз, вы можете изменить параметры самостоятельно!
Наконец, пожелайте нам больше золота на этих Олимпийских играх!