Python 如何在matplotlib.pcolor中取消堆叠yticklabel
以下代码是再现“我的热图”问题所需的最低代码量(注释中的完整代码): 我的问题是:有没有办法增加y记号标签之间的距离?当我把它打印成A3(大小合适)时,它仍然几乎无法阅读,因为字母彼此堆叠在一起。我曾试着修复yticklabelpads,但没有成功 提前谢谢大家Python 如何在matplotlib.pcolor中取消堆叠yticklabel,python,matplotlib,heatmap,Python,Matplotlib,Heatmap,以下代码是再现“我的热图”问题所需的最低代码量(注释中的完整代码): 我的问题是:有没有办法增加y记号标签之间的距离?当我把它打印成A3(大小合适)时,它仍然几乎无法阅读,因为字母彼此堆叠在一起。我曾试着修复yticklabelpads,但没有成功 提前谢谢大家 请将显示的代码量减少到最小,以避免再现问题。我怀疑问题在这里的细节中,但是请通过减少他们需要的代码量来帮助那些想要帮助的人。完成,这里的完整代码:通过“取消堆叠”,我想你的意思是水平错开标签?当您使用标签的tex渲染时,尝试将tex理解
请将显示的代码量减少到最小,以避免再现问题。我怀疑问题在这里的细节中,但是请通过减少他们需要的代码量来帮助那些想要帮助的人。完成,这里的完整代码:通过“取消堆叠”,我想你的意思是水平错开标签?当您使用标签的tex渲染时,尝试将tex理解为不中断空白的东西固定到任何其他标签上。取消堆叠的意思是增加y记号标签之间的距离。减小字体大小(可以传递整数)。
import numpy as np
import string
from matplotlib import pylab as plt
def random_letter(chars=string.ascii_uppercase, size=2):
char_arr = np.array(list(chars))
if size > 27:
size = 27
np.random.shuffle(char_arr)
return char_arr[:size]
y_labels = [', '.join(x for x in random_letter()) for _ in range(174)]
fig.set_size_inches(11.7, 16.5)
fig, ax = plt.subplots()
data = np.random.poisson(1, (174, 40))
heatmap = ax.pcolor(data,
cmap=plt.cm.Blues,
vmin=data.min(),
vmax=data.max(),
edgecolors='white')
ax.set_xticks(np.arange(data.shape[1])+.5, minor=False);
ax.set_yticks(np.arange(data.shape[0])+.5, minor=False);
ax.set_xticklabels(np.arange(40),
minor=False,
rotation=90,
fontsize='x-small',
weight='bold');
ax.set_yticklabels(y_labels,
minor=False,
fontsize='x-small',
weight='bold');
cb = fig.colorbar(heatmap, shrink=0.33, aspect=10)