是否可以在matplotlib中独立于绘图距离指定yaxis
行长度?
我目前使用类似的东西来生成数字
# -- We plot the data
figSpectrum = plt.figure(figsize=(4,2))
axSpectrum = figSpectrum.add_subplot(111)
plt.subplots_adjust(hspace=0.5)
input_spec, = plt.plot(x, yTheo, color='#ee923b', lw=2, label='Input spectrum')
samples_spec, = plt.plot(x, ySamples, 'o', ms=1, color='k', label='Samples')
axSpectrum.set_ylim((0.0,1.0))
其中yTheo
和ySamples
位于集合[0,1]
中。当我使用axSpectrum.set_ylim((0.0,1.0))
时,线条图会被剪裁,如下图所示(剪裁区域显示在红色矩形中)。
但是,如果我使用axSpectrum.set_ylim((0,1.1))
,那么y轴超过1.0刻度,我觉得这很烦人(见下文)。有没有办法告诉matplotlib在从y=0
到y=1.1
绘制yaxis时从y=0
到y=1
绘制线图?
答案 0 :(得分:2)
将clip_on=False
设为plt.plot
的选项。这将允许plot
绘制的线超出轴区域。
来自docs:
set_clip_on(b)
设置艺术家是否使用剪辑。
当
False
艺术家在轴外可见时会导致意外结果
为您的例子:
input_spec, = plt.plot(x, yTheo, color='#ee923b', lw=2, label='Input spectrum', clip_on=False)
samples_spec, = plt.plot(x, ySamples, 'o', ms=1, color='k', label='Samples', clip_on=False)