如何在matplotlib中自动缩放y轴?

如何在matplotlib中自动缩放y轴?,matplotlib,Matplotlib,我目前正在创建许多情节,其中一些看起来很棒,而另一些需要一些调整。从下面看,如何使难以看到的绘制线更容易看到,而不必手动绘制它们?我一次绘制50-100个,然后将它们添加到pdf报告中。我想在行下添加空格,例如将ylim min limit设置为-0.1,但会自动执行 这是一个很难看到的绘图线: 这是一个很容易看到的绘图线: 以下是我的绘图代码: def plot(chan_data): '''Uses matplotlib to plot a channel ''' f, ax = plt

我目前正在创建许多情节,其中一些看起来很棒,而另一些需要一些调整。从下面看,如何使难以看到的绘制线更容易看到,而不必手动绘制它们?我一次绘制50-100个,然后将它们添加到pdf报告中。我想在行下添加空格,例如将ylim min limit设置为-0.1,但会自动执行

这是一个很难看到的绘图线:

这是一个很容易看到的绘图线:

以下是我的绘图代码:

def plot(chan_data):
'''Uses matplotlib to plot a channel
'''
f, ax = plt.subplots(1, figsize=(8, 2.5))
x = dffinal['time'].keys()    
ax.plot(x, dffinal[chan_data].values, linewidth=0.4, color='blue')
ax.xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y - %H:%M'))
ax.xaxis.set_major_locator(mdates.AutoDateLocator(interval_multiples=True))

lgd1 = ax.legend(loc='center left', bbox_to_anchor=(1, 0.5))

f.autofmt_xdate()
ax.set_ylabel(dffinal[chan_data].name)
ax.grid('on')

#I've tried these with no luck
#ax.autoscale(enable=True, axis='y', tight=False)
#ax.set_ymargin(0.5)
#ax.set_autoscaley_on(True)

fname = ".\\plots\\" + chan_data + ".png"
print "Creating: " + fname
plt.savefig(fname, dpi=100, bbox_extra_artist=(lgd1,), bbox_inches='tight')
plt.close()
return fname    

您需要
margins


另请参见

本答案中提出的解决方案可能适用于您的用例:
ax.margins(y=.1)