#python #matplotlib #plot #treemap
#python #matplotlib #график #древовидная карта
Вопрос:
Я использую squarify
пакет на python, codeLink, для рисования treemap
, wikiTreemapArticle. На основе этого примера я могу создать древовидную карту, но я не могу увидеть, как можно изменить размеры шрифтов надписей в квадратах. Существенная строка в скрипте — это:
ax = squarify.plot(countryPop, color=colors, label=labels, ax=ax, alpha=.7)
Отсюда я не могу добавить атрибут ‘fontsize’. Как бы мне изменить размеры надписей?
Ответ №1:
Обновление: Теперь есть возможность изменить размер шрифта (squarify ==0.3.0 или выше) с помощью параметра text_kwargs:
ax = squarify.plot(countryPop, color=colors, label=labels, ax=ax, bar_kwargs={'alpha':.7}, text_kwargs={'fontsize':10})
Ответ №2:
squarify
работает matplotlib
pyplot
, поэтому вам просто нужно изменить размер шрифта pyplot
.
Я использую для выполнения следующих действий в своих графических кодах.
SMALL_SIZE = 13
MEDIUM_SIZE = 18
BIGGER_SIZE = 23
plt.rc('font', size=MEDIUM_SIZE) # controls default text sizes
plt.rc('axes', titlesize=BIGGER_SIZE) # fontsize of the axes title
plt.rc('axes', labelsize=BIGGER_SIZE) # fontsize of the x and y labels
plt.rc('xtick', labelsize=MEDIUM_SIZE) # fontsize of the tick labels
plt.rc('ytick', labelsize=MEDIUM_SIZE) # fontsize of the tick labels
plt.rc('legend', fontsize=SMALL_SIZE) # legend fontsize
plt.rc('figure', titlesize=BIGGER_SIZE) # fontsize of the figure title
Таким образом, вы можете изменить любой шрифт вашего графика, в том числе на squarify
treemap
графике.
Ответ №3:
#Fonts demo (kwargs)
#Set font properties using kwargs.
#See Fonts demo (object-oriented style) to achieve the same effect using setters.
squarify.plot(sizes=volume, label=labels,text_kwargs={'fontsize':10, 'fontname':"Times New Roman Bold",'weight':'bold'},color=color_list, alpha=0.9)
#Fonts demo(kwargs)
# https://matplotlib.org/3.1.0/gallery/text_labels_and_annotations/fonts_demo_kw.html
Комментарии:
1. Есть ли способ адаптировать размер надписи к размеру квадрата? Например, если надпись слишком большая, чтобы поместиться внутри одного квадрата, уменьшите размер надписи соответствующим образом или перейдите на новую строку