2015-09-03 6 views
2

Мне нужно изменить положение оси Y по оси matplotlib.вторичное положение оси Y matplotlib

Это как подзаговор внутри того же участка.

На изображении ниже моя вторичная ось Y начинается в том же положении, что и первая ось y. Мне нужно, чтобы вторичная ось Y начиналась в положении «18» первой оси Y с меньшим масштабом (красная линия).

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

Если я правильно понял видеть фигуру вы размещенную вы хотите вторую ось у. Вы можете сделать это, используя plt.twinx. Примером может быть, как следующее:

import matplotlib.pyplot as plt 

plt.plot([1,2,3]) 
plt.twinx() 
plt.plot([5,4,5]) 
plt.show() 
Смежные вопросы