如何在Python中使用方形化构建树形图来编辑标签字体大小?

时间:2016-10-23 21:04:22

标签: python matplotlib plot treemap

我在python codeLink中使用squarify包来绘制treemapwikiTreemapArticle。根据这个example,我可以生成一个树形图,但是我无法看到如何修改正方形中标签的字体大小。脚本中的基本行是:

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

从这里我无法添加' fontsize'属性。如何更改标签的大小?

3 个答案:

答案 0 :(得分:3)

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地块中的字体。

答案 1 :(得分:2)

更新: 现在可以通过 text_kwargs 参数更改字体大小(squarify == 0.3.0或更高):

ax = squarify.plot(countryPop, color=colors, label=labels, ax=ax, bar_kwargs={'alpha':.7}, text_kwargs={'fontsize':10})

答案 2 :(得分:0)

#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