在matplotlib图中,如何使用ax1.set_xticklabels()较小的刻度标签来设置字体大小?
此外,如何将其从水平旋转到垂直?
我的水平颜色条上的标签太靠近了,我不想进一步减小文字大小:
cbar = plt.colorbar(shrink=0.8, orientation='horizontal', extend='both', pad=0.02)
cbar.ax.tick_params(labelsize=8)
Run Code Online (Sandbox Code Playgroud)

我想保留所有刻度,但删除所有其他标签.
我发现的大多数示例都将用户指定的字符串列表传递给cbar.set_ticklabels().我正在寻找一个通用的解决方案.
我玩弄各种变化
cbar.set_ticklabels(cbar.get_ticklabels()[::2])
Run Code Online (Sandbox Code Playgroud)
和
cbar.ax.xaxis.set_major_locator(matplotlib.ticker.MaxNLocator(nbins=4))
Run Code Online (Sandbox Code Playgroud)
但我还没有找到神奇的组合.
我知道必须有一个干净的方法来使用定位器对象.
我想使用以下代码在X轴上绘制一个带有许多刻度的图形:
import pylab
N = 100
data = pylab.np.linspace(0, N, N)
pylab.plot(data)
pylab.xticks(range(N)) # add loads of ticks
pylab.grid()
pylab.tight_layout()
pylab.show()
pylab.close()
Run Code Online (Sandbox Code Playgroud)
结果图如下所示:
正如您所看到的,X轴是一团糟,因为刻度标签的绘制空间太小甚至重叠.
我想在每个刻度标签之间自动创建恒定的空间,无论有多少刻度.因此,我想增加单个刻度之间的空间,从而可能增加绘图的"长度".
请注意,刻度标签可以是可变长度的字符串.
到目前为止我发现的是关于轴和标签之间的间距(这不是我想要的),刻度频率(我已经可以做)和刻度参数(似乎没有任何间距选项).
我可以手动更改图形的大小matplotlib.pyplot.figure(figsize=(a, b)),但这需要知道刻度线之间的默认间距(据我所知,没有)和刻度标签的最大宽度(以英寸为单位),我没有如何衡量,所以这不是一个选择,在我看来.
我该怎么做才能增加蜱之间的间距?得到一个相当冗长的图像我很好.