我正在用Python制作6幅图像的子图,y轴值非常高(范围从0到250000)。我想以1000的倍数显示它们,但不是以1K、10K、250K等形式显示,而是以1,10250的形式显示,在顶部有1e3,以显示所有值都是1000的倍数。有没有一个简单的方法可以做到这一点?我这样做是为了节省水平空间,因为我需要它来适应我的论文。这里是my output,这里是我想要它看起来的example,下面是代码:
fig,ax = plt.subplots(3,2,figsize=(10,20))
im1 = ax[0,0].hist(im1,bins=300,range=(0.66,0.95))
im2 = ax[0,1].hist(im2,bins=300,range=(0,0.8))
im3 = ax[1,0].hist(im3,bins=300,range=(200,280))
im4 = ax[1,1].hist(im4,bins=300,range=(0,80))
im5 = ax[2,0].hist(im5,bins=300,range=(200,280))
im6 = ax[2,1].hist(im6,bins=300,range=(0,80))
您只需将yticklabels更改为特定的字符串格式。我在下面展示了一些虚拟数据:
如果它们甚至不是十的幂,这可能会很难看,但在这种情况下,您也可以选择编辑Ytick本身
编辑
要处理更新的问题,您只需更改标签的格式,如下所示:
这将产生如下轴:
相关问题 更多 >
编程相关推荐