2015-11-17 3 views
2

Моя ось х колеблется от -30 to 35, однако моя ось y колеблется от -1 to 1, поэтому мне было интересно, как я мог бы сделать мой график длиннее, не увеличивая координаты на константу.Как растянуть график по вертикали в Python

Вот мой код: (построение линий между кругами, если части матча данных, где namei и namej являются только счетчики)

fig = plt.figure(0) 
    ax = fig.add_subplot(111) 
    ax.set_aspect('equal') 
    plt.axis([-30, 35, -1, 1]) 

    line1 = plt.plot([5, 10],[-0.5, 0], c='k', marker='o') 
    line2 = plt.plot([10, 20],[0, 0.75], c='k', marker='o') 
    line3 = plt.plot([20, 35],[0.75, 1], c='k', marker='o') 
+0

Пожалуйста, следуйте [Minimal, полный и проверяемый примеру] (http://stackoverflow.com/help/mcve). Вы близки, но мы могли бы использовать минимальный набор данных для воспроизведения проблемы. –

+0

@MartinEvans Привет, Мартин, спасибо за это! Теперь я отредактировал это для первых трех строк данных, надеюсь, что это поможет! – lyche

+0

Вы пытались просто удалить строку 'set_axpect ('equal')'? –

ответ

2

Вы должны удалить ax.set_aspect('equal') линию, чтобы matplotlib растянуть ось, чтобы соответствовать ,

Это даст вам следующий вывод: enter image description here

Как следует:

import matplotlib.pyplot as plt 

fig = plt.figure(0) 
ax = fig.add_subplot(111) 
#ax.set_aspect('equal') 
plt.axis([-30, 35, -1, 1]) 

line1 = plt.plot([5, 10],[-0.5, 0], c='k', marker='o') 
line2 = plt.plot([10, 20],[0, 0.75], c='k', marker='o') 
line3 = plt.plot([20, 35],[0.75, 1], c='k', marker='o') 

plt.show() 
Смежные вопросы