Как отредактировать размеры шрифта надписи при построении древовидной карты с помощью squarify на Python?

#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. Есть ли способ адаптировать размер надписи к размеру квадрата? Например, если надпись слишком большая, чтобы поместиться внутри одного квадрата, уменьшите размер надписи соответствующим образом или перейдите на новую строку