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

时间:2017-12-31 20:12:20

标签: python matplotlib plot

我必须制作几个图,但我面临的问题是,这些图中的大多数都有一段时间,它们的价值飙升,这掩盖了我感兴趣的实际数据。我不认为限制Y轴范围将起作用,因为不同图的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) 

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

如前所述,请尝试使用

进行对数刻度

plt.semilogy()