Улучшение круговых диаграмм в Matplotlib: методы перемещения автотекста

Круговые диаграммы широко используются для визуализации категориальных данных. Matplotlib, популярная библиотека визуализации данных, предоставляет широкие возможности для создания и настройки круговых диаграмм. В этой статье блога мы рассмотрим различные методы перемещения меток автотекста на круговой диаграмме на примерах кода. Если вы хотите оптимизировать размещение меток для лучшей читаемости или повысить эстетическую привлекательность диаграмм, эти методы помогут вам достичь ваших целей.

Метод 1: размещение вручную
Самый простой способ переместить метки автотекста на круговой диаграмме — указать координаты вручную. Matplotlib предоставляет метод set_position()для установки положения метки.

import matplotlib.pyplot as plt
data = [30, 15, 25, 10, 20]
labels = ['A', 'B', 'C', 'D', 'E']
fig, ax = plt.subplots()
ax.pie(data, labels=labels, autopct='%1.1f%%')
# Get the autotext labels
autotexts = [label.get_text() for label in ax.texts]
# Set new positions for the labels
new_positions = [(1.2, 0.5), (0.8, 0.8), (0.5, 1.2), (-0.8, 0.8), (-1.2, 0.5)]
for autotext, position in zip(autotexts, new_positions):
    autotext.set_position(position)
plt.show()

Метод 2. Настройка отступов
Другой подход — настроить отступы между круговой диаграммой и метками автотекста. Метод set_pie_radius()позволяет управлять радиусом круговой диаграммы, а метод set_text_props()позволяет изменять свойства меток автотекста.

import matplotlib.pyplot as plt
data = [30, 15, 25, 10, 20]
labels = ['A', 'B', 'C', 'D', 'E']
fig, ax = plt.subplots()
ax.pie(data, labels=labels, autopct='%1.1f%%')
# Adjust the padding between the pie and labels
ax.set_pie_radius(0.8)
# Modify the autotext label properties
for autotext in ax.texts:
    autotext.set_text_props(weight='bold', ha='center')
plt.show()

Метод 3: использование параметра bbox_to_anchor
Параметр bbox_to_anchorпозволяет указать положение меток автотекста относительно осей. Указав соответствующие координаты, вы можете переместить метки в нужные места.

import matplotlib.pyplot as plt
data = [30, 15, 25, 10, 20]
labels = ['A', 'B', 'C', 'D', 'E']
fig, ax = plt.subplots()
ax.pie(data, labels=labels, autopct='%1.1f%%')
# Adjust the position of autotext labels using bbox_to_anchor
for autotext in ax.texts:
    autotext.set_bbox(dict(facecolor='white', edgecolor='black', pad=0.7))
plt.show()

В этой статье мы рассмотрели различные методы перемещения меток автотекста на круговой диаграмме с помощью Matplotlib. Задавая положение вручную, регулируя отступы или используя параметр bbox_to_anchor, вы можете настроить размещение меток, чтобы улучшить читаемость и улучшить общий вид круговых диаграмм.

Не забывайте экспериментировать с различными техниками и комбинациями, чтобы добиться желаемого визуального эффекта. Имея в своем распоряжении эти методы, вы можете создавать круговые диаграммы, которые эффективно отображают ваши данные.