我在python codeLink中使用squarify
包来绘制treemap
,wikiTreemapArticle。根据这个example,我可以生成一个树形图,但是我无法看到如何修改正方形中标签的字体大小。脚本中的基本行是:
ax = squarify.plot(countryPop, color=colors, label=labels, ax=ax, alpha=.7)
从这里我无法添加' fontsize'属性。如何更改标签的大小?
答案 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