修复具有大y比例范围的图形。蟒蛇

问题描述 投票:1回答:2

我必须制作几个图,但我面临的问题是,这些图中的大部分都有一段时间,它们的价值飙升,这掩盖了我感兴趣的实际数据。我不认为限制Y -axis范围将起作用,因为不同图的Y轴刻度会发生变化。

这是我的问题的一个例子

我想删除所有这些峰值,因为它们可能会使情节变得有些黯然失色。

这是我用来绘制生成此图的代码:

    fig, (ax1,ax2,ax3,ax4) = plt.subplots(4, sharex = False,  figsize =(15,15))


    ax1.plot(Epoch[0], plotdata[0])
    ax1.set_ylabel(label, fontsize = 20)
    ax1.tick_params(axis = 'both',which = 'major', labelsize = 18)
    ax1.get_yaxis().set_tick_params(direction='out',width=2)
    ax1.set_xlim([start1, stop1])
    nbins = 5
    ax1.yaxis.set_major_locator(MaxNLocator(nbins=nbins,prune='upper'))


    ax2.plot(Epoch[1],plotdata[1])
    ax2.set_ylabel(label, fontsize = 20)
    ax2.set_xlim([start2, stop2])
    ax2.tick_params(axis = 'both',which = 'major', labelsize = 18)
    ax2.yaxis.set_major_locator(MaxNLocator(nbins=nbins,prune='upper'))
    ax2.get_yaxis().set_tick_params(direction='out',width=2)


    ax3.plot(Epoch[2], plotdata[2])
    ax3.set_ylabel(label, fontsize =20)
    ax3.set_xlim([start3, stop3])
    ax3.tick_params(axis = 'both',which = 'major', labelsize = 18)
    ax3.yaxis.set_major_locator(MaxNLocator(nbins=nbins,prune='upper'))
    ax3.get_yaxis().set_tick_params(direction='out',width=2)

    ax4.plot(Epoch[3], plotdata[3])
    ax4.set_ylabel(label, fontsize =20)
    ax4.set_xlim([start4, stop4])
    ax4.tick_params(axis = 'both',which = 'major', labelsize = 18)
    ax4.yaxis.set_major_locator(MaxNLocator(nbins=nbins,prune='upper'))
    ax4.get_yaxis().set_tick_params(direction='out',width=2) 
python matplotlib plot
2个回答
1
投票

使y轴成为对数刻度。这将使其余的情节更加突出。


0
投票

如前所述,请尝试使用日志刻度

plt.semilogy()

© www.soinside.com 2019 - 2024. All rights reserved.