Как установить размер меток на круговой диаграмме в python
Я хочу, чтобы метки с небольшим размером на piechart в python, чтобы улучшить видимость, вот код
import matplotlib.pyplot as plt
frac=[1.40 , 10.86 , 19.31 , 4.02 , 1.43 , 2.66 , 4.70 , 0.70 , 0.13 , 1.48, 32.96 , 1.11 , 13.30 , 5.86]
labels=['HO0900344', 'HO0900331', 'HO0900332', 'HO0900354',
'HO0900358', 'HO0900374', 'HO0900372', 'HO0900373',
'HO0900371', 'HO0900370', 'HO0900369', 'HO0900356',
'HO0900353', 'HO0900343']
fig = plt.figure(1, figsize=(6,6))
ax = fig.add_subplot(111)
ax.axis('equal')
colors=('b', 'g', 'r', 'c', 'm', 'y', 'burlywood', 'w')
ax.pie(frac,colors=colors ,labels=labels, autopct='%1.1f%%')
plt.show()
Спасибо и приветствую
Ответы
Ответ 1
Есть несколько способов изменить размер шрифта на этикетках.
Вы можете динамически изменять настройки rc. Добавьте вверху вашего скрипта следующее:
import matplotlib as mpl
mpl.rcParams['font.size'] = 9.0
Или вы можете изменить метки после их создания. Когда вы вызываете ax.pie
он возвращает кортеж (патчи, тексты, автотесты). В качестве примера, измените последние несколько строк кода следующим образом:
patches, texts, autotexts = ax.pie(frac, colors=colors, labels=labels, autopct='%1.1f%%')
texts[0].set_fontsize(4)
plt.show()
Ответ 2
Самый простой способ изменить размер шрифта на круговой диаграмме прямо через аргумент textprops
в функции pie()
. Используя вышеприведенный код, добавьте его так:
ax.pie(frac, colors=colors ,labels=labels,
autopct='%1.1f%%', textprops={'fontsize': 14})
Таким образом, вы можете просто перейти в словарь с вашим желаемым шрифтом (например, 14). Нельзя возиться с rcParams
или возвращать значения из вызова функции.