Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to edit the label font sizes on building a treemap with squarify in Python?

I am using a squarify package in python, codeLink, to draw a treemap, wikiTreemapArticle. Based on this example, I can produce a treemap, but I am unable to see how the fontsizes of the labels in the squares can be modified. The essential line in the script is:

ax = squarify.plot(countryPop, color=colors, label=labels, ax=ax, alpha=.7)

From here I cannot add the 'fontsize' attribute. How would I change the sizes of the labels?

like image 907
Vass Avatar asked Oct 23 '16 21:10

Vass


2 Answers

Update: There is now a possibility to change the fontsize (squarify==0.3.0 or higher) via the text_kwargs parameter:

ax = squarify.plot(countryPop, color=colors, label=labels, ax=ax, bar_kwargs={'alpha':.7}, text_kwargs={'fontsize':10})
like image 128
Angela Heumann Avatar answered Sep 23 '22 20:09

Angela Heumann


the squarify works on matplotlib pyplot so you just need change de font size of pyplot.

I use to do the following thing on my plotting codes.

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

This way you can change any font of your plot, including in the squarify treemap plot.

like image 32
Nielsen Rechia Avatar answered Sep 25 '22 20:09

Nielsen Rechia