使用以下导入:
import matplotlib as mpl
from scipy.cluster.hierarchy import dendrogram
我全局设置字体大小(基于this other Stack Overflow answer):
mpl.rcParams.update({'font.size': 20})
然后我使用以下内容创建树形图(其中m
是在别处创建的矩阵):
dendrogram(m)
然后我最后用:
显示情节mpl.pyplot.show()
y轴刻度标签是预期的20点。但是,x轴刻度标签很小,远小于20点。似乎matplotlib会自动缩小字体大小以适应数据的密度,尽管上面的字体大小设置。即使我放大并且有足够的空间来显示较大的字体,情况也是如此。
如何让x轴刻度使用更大的字体大小?
答案 0 :(得分:4)
您可以使用Axes.tick_params()
方法执行此操作:
import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage
import numpy
N = 20
n = numpy.random.normal(size=(N, 2))
Z = linkage(n)
# implicit interface
dendrogram(Z)
ax = plt.gca()
ax.tick_params(axis='x', which='major', labelsize=15)
ax.tick_params(axis='y', which='major', labelsize=8)
plt.savefig('t.png')
# explicit interface
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
dendrogram(Z, ax=ax)
ax.tick_params(axis='x', which='major', labelsize=15)
ax.tick_params(axis='y', which='major', labelsize=8)
fig.savefig('t.png')