考虑这个可重复的例子:
import numpy as np
import matplotlib.pyplot as plt
labels = ['0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21']
fig, axes = plt.subplots(nrows=3, ncols=3,figsize=(6, 3.5),dpi=300)
plt.subplots_adjust(wspace=0.025, hspace=0.2)
for ax in [a for b in axes for a in b]:
ax.imshow(np.random.randint(2, size=(22,42)))
ax.set_xticks([0,6,12,18,24,30,36,41])
ax.tick_params(axis='x', which='major', labelsize=3)
ax.set_yticks([])
ax.set_aspect('equal')
for ax in [item for sublist in axes for item in sublist][0::3]:
ax.set_yticks(range(len(labels)))
ax.set_yticklabels(labels,fontsize=3)
fig.savefig("example.png",bbox_inches='tight')
我的问题是,即使我改变了刻度的字体大小,每个刻度的线条仍然保持不变。这看起来很难看,浪费了很多空间,特别是在X轴上。有什么想法如何使这些线条更小,从而使xlabel更接近轴?
PS tight_layout()
没有帮助。
3条答案
按热度按时间unhi4e5o1#
制造
ax.tick_params(axis='x', which='major', labelsize=3, length=2)
紧接着
ax.tick_params(axis='y', which='major', labelsize=3, length=2)
这将使刻度变小,但不会使标签更靠近图表。
PS:
length=1
会让滴答声变得更小,很明显。o2g1uqev2#
您可以使用
width
参数:ax.tick_params(axis='x', which='major', labelsize=3, width=0.1)
0wi1tuuw3#
代替(第4行):
您可以操纵figsize。例如:
让我们比较两个输出:
轴上的数字比旧的大。