2017-10-09 95 views
-1

我想绘制两个一维系列在彼此的顶部,意思是,没有任何垂直间距,我使用subplot2grid,因为我有多个subplots。下面的代码将最上面和最下面的线条排列在一起。我如何画相邻的线?设置gridspec中ticks之间的距离

import numpy as np 
import matplotlib 
import matplotlib.pyplot as plt 
import matplotlib.figure 
import matplotlib.gridspec as gridspec 

ax = plt.subplot2grid((1, 1), (0,0)) 
xvalues = range(0,10) 
yvalues = np.ones_like(xvalues) 
ax.scatter(xvalues, yvalues) 
ax.scatter(xvalues, np.add(yvalues, 1)) 
ax.set_yticks([1,2]) 
plt.tight_layout() 
plt.show() 
+0

什么决定的线是 “相邻” 另一线的曲线图?我会说两组点都相邻,因为两者之间没有任何关系。但是如果你有不同的定义,请清楚地说明你希望你的情节如何。 – ImportanceOfBeingErnest

+0

我的意思是,线条之间不应有空隙/空白。 – nurp

回答

0

点的基团之间的间隙是由于matplotlib autoscales情节具有最小和最大的点上的轴为在每一侧填充之间的差的5%的事实。如果最小值为1并且最大值为2,那么该图的范围从〜0.95到〜2.05。

当然,您可以更改限制,例如

ax.set_ylim(-5,8) 

会产生像

enter image description here