如何限制matplotlib中的y轴高度?

时间:2017-08-15 19:04:52

标签: python matplotlib

如何在matplotlib图中限制y轴的高度?我试图显示x轴,并减少这个1D图的图形高度。

我尝试过设置刻度,数字大小,tight_layout,margin等,但没有运气。

此外,无论我选择什么限制,更改ylimits只会跨越整个身高。

import numpy as np
import matplotlib.pyplot as plot
from matplotlib import rcParams

x = np.array([3500])
y = np.array([0])

rcParams['toolbar'] = 'None'

plot.figure(num=None, figsize=(4, 1), dpi=80, facecolor='w')
plot.axes(frameon=False)
plot.yticks([0])
plot.xlim(0, 6000)
plot.ylim(-0.1, 0.1)
plot.plot(x, y, 'x', markersize=10)

plot.show()

Current figure

Desired figure

3 个答案:

答案 0 :(得分:2)

试试这个:

plot.ylim(lower_limit, upper_limit)

lower_limit是您要为y-axis底部设置的值,upper_limit是顶部的值。

np.random.seed(0)
x = np.random.randn(100)
y = np.random.randn(100)

plot.figure(num=None, figsize=(4, 1), dpi=80, facecolor='w')
plot.axes(frameon=False)
plot.ylim(-10, 10)
plot.plot(x, y, '.')

enter image description here

答案 1 :(得分:0)

只需将figsize更改为(4, 0.3),我就会得到或多或少看起来像您所需输出的内容(除了顶部的刻度,但也可以删除它们):

Output

答案 2 :(得分:0)

问题中的代码在添加时已经产生了所需的结果 plot.tight_layout()最后。

enter image description here

当然,进一步减小数字尺寸,使情节更加缩小。例如。 figsize=(4, 0.7)

enter image description here