Мне нужна помощь в установлении пределов оси Y на matplotlib. Вот код, который я попробовал, безуспешно.
import matplotlib.pyplot as plt
plt.figure(1, figsize = (8.5,11))
plt.suptitle('plot title')
ax = []
aPlot = plt.subplot(321, axisbg = 'w', title = "Year 1")
ax.append(aPlot)
plt.plot(paramValues,plotDataPrice[0], color = '#340B8C',
marker = 'o', ms = 5, mfc = '#EB1717')
plt.xticks(paramValues)
plt.ylabel('Average Price')
plt.xlabel('Mark-up')
plt.grid(True)
plt.ylim((25,250))
С данными, которые у меня есть для этого графика, я получаю пределы оси Y 20 и 200. Однако я хочу ограничения 20 и 250.
Одна вещь, которую вы можете сделать, это установить диапазон своей оси самостоятельно, используя matplotlib.pypplot.axis.
matplotlib.pyplot.axis
from matplotlib import pyplot as plt
plt.axis([0, 10, 0, 20])
0,10 для диапазона осей x. 0,20 для диапазона оси y.
или вы также можете использовать matplotlib.pyplot.xlim или matplotlib.pyplot.ylim
matplotlib.pyplot.ylim
plt.ylim(-2, 2)
plt.xlim(0,10)
Чтобы добавить к ответу @Hima, если вы хотите изменить текущий предел x или y, вы можете использовать следующее.
import numpy as np # you probably alredy do this so no extra overhead
fig, axes = plt.subplot()
axes.plot(data[:,0], data[:,1])
xlim = axes.get_xlim()
# example of how to zoomout by a factor of 0.1
factor = 0.1
new_xlim = (xlim[0] + xlim[1])/2 + np.array((-0.5, 0.5)) * (xlim[1] - xlim[0]) * (1 + factor)
axes.set_xlim(new_xlim)
Я нахожу это особенно полезным, когда я хочу немного уменьшить или увеличить масштаб из настроек графика по умолчанию.
Вы можете создать объект из matplotlib.pyplot.axes
и вызвать set_ylim ()
на нем. Это было бы что-то вроде этого:
импортировать matplotlib.pyplot как plt
оси = plt.axes ()
axes.set_ylim ([0, 1])
Это должно работать. Ваш код работает для меня, как для Tam & # 225; s и Manoj Govindan. Похоже, вы можете попытаться обновить Matplotlib. Если вы не можете обновить Matplotlib (например, если у вас недостаточно административных прав), возможно, может помочь использование другого бэкэнда с matplotlib.use ()
.