2015-09-03 178 views
2

我需要更改matplotlib图上的辅助Y轴位置。辅助Y轴位置matplotlib

这就像是同一块地块内的一块子图。

在下图中,我的第二个Y轴开始于与第一个y轴相同的位置。我需要辅助Y轴从第一个Y轴的“18”位置开始,并且规模较小(红线)。

enter image description here

回答

1

如果我理解的问题,你想有一个twinx轴,如@kikocorreoso说,但你也想压缩,因此它只占用的上部y轴。

只需将ylim设置为比需要的大,并明确设置yticks即可。下面是一些随机数据

import matplotlib.pyplot as plt 
import numpy as np 

data = [np.random.normal(np.random.randint(0,5),4,25) for _ in range(25)] # some random data 

fig=plt.figure() 
ax1=fig.add_subplot(111) 
ax2=ax1.twinx() 

ax1.set_ylim(-5,25) 
ax2.set_ylim(0,14) 
ax2.set_yticks([10,12,14]) # ticks below 10 don't show up 

ax1.boxplot(data) 
ax2.plot(np.linspace(0,26,50),12.+2.*np.sin(np.linspace(0,2.*np.pi,50))) # just a random line 

plt.show() 

enter image description here

+0

这正是我需要的例子。 谢谢。 – fandreacci

0

如果我理解正确看到你发布你想要第二个y轴的身影。您可以使用plt.twinx来完成此操作。一个例子可能是这样的:

import matplotlib.pyplot as plt 

plt.plot([1,2,3]) 
plt.twinx() 
plt.plot([5,4,5]) 
plt.show()