изменить настройки оси matplotlib

Как мне получить контроль над настройками оси сюжета pyplot. я просто сделал

    pylab.plot(*self.plot_generator(low, high))

    pylab.show()

и я получаю то, что я хочу

альтернативный текст

но я хочу, чтобы ось x была на 0, а не внизу. Как бы я это сделал?


person Falmarri    schedule 27.11.2010    source источник


Ответы (2)


# create some data
x = np.linspace(-np.pi,np.pi,100)
y = np.cos(2.5*x)

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(x,y, mfc='orange', mec='orange', marker='.')

# using 'spines', new in Matplotlib 1.0
ax.spines['left'].set_position('zero')
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['top'].set_color('none')
ax.spines['left'].set_smart_bounds(True)
ax.spines['bottom'].set_smart_bounds(True)
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')

ax.axhline(linewidth=2, color='blue')
ax.axvline(linewidth=2, color='blue')
show()

альтернативный текст

person doug    schedule 27.11.2010
comment
Это похоже на то, что мне нужно, вместе с комментарием @Joe Kington - person Falmarri; 29.11.2010
comment
Вы можете найти более общее описание того, как использовать шипы в этом отношении, здесь: matplotlib.org/examples /pylab_examples/ - person Marcos Alex; 29.10.2014
comment
Не могли бы вы объяснить, почему здесь используется ax.spines. Насколько мне известно, все методы set_position или set_color являются членами объекта класса matplotlib.spines.Spine. Это сбивает с толку. - person haccks; 09.06.2015
comment
Это правильно. ax.spines — это OrderedDict, который содержит четыре объекта Spine: 'left', 'right', 'top' и 'bottom'. - person teekarna; 11.01.2019
comment
Команды axhline, axvline здесь не нужны. Если кто-то хочет изменить ширину линии или цвет осей, лучше изменить свойства осей. - person teekarna; 11.01.2019

Чтобы установить начало оси x на 0:

pylab.xlim(xmin=0)

Чтобы установить начало оси Y на 0:

pylab.ylim(ymin=0)

Поместите одну из этих строк (или обе, если хотите) после вызова pylab.plot.

person amillerrhodes    schedule 27.11.2010