2017-08-15 316 views
0

如何限制matplotlib图中y轴的高度?我正在尝试显示x轴,并降低此一维图的高度。如何限制matplotlib中的y轴高度?

我已经尝试设置蜱,图尺寸,tight_layout,边距等,没有运气。

另外,无论我选择什么限制,更改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

回答

0

简单地改变figsize(4, 0.3),我得到的东西,或多或少看起来像你期望的输出(除了在顶部蜱为好,但这些也可以去掉):

Output

+0

你在Windows上吗?当我在Windows上运行它时,它仍然会为我削减底部轴标记。 – vaderade

+0

是的,那是在Windows上。如果你把'figsize'(5,0.5)'和'plot.gcf()。subplots_adjust(bottom = 0.5)'结合起来怎么办? – fuglede

+0

这就是我正在寻找的。谢谢! – vaderade

1

试试这个:

plot.ylim(lower_limit, upper_limit) 

哪里lower_limit是要为y-axisupper_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

+0

我试过了,但无论限制我使用,但它仍然充满身影。由于这只是一维情节,我希望高度缩小。 – vaderade

0

在问题中的代码已产生所需的结果,在结尾处增加 plot.tight_layout()时。

enter image description here

当然甚至进一步降低了数字的大小,更加缩小的情节。例如。 figsize=(4, 0.7)

enter image description here