#python #python-3.x #matplotlib
#python #python-3.x #matplotlib
Вопрос:
Итак, я создаю точечный график, и в одном из моих столбцов данных много отрицательных значений. Это моя ось y.
Однако, когда я строю график, мои оси начинаются с 0. Как мне заставить его начинаться с фактического наименьшего значения?
Ответ №1:
Используйте plt.ylim()
вместе со встроенными min()
max()
функциями и:
import matplotlib.pyplot as plt
x = [38, -21, 37, 54, 10, 10, -40, -37, -24, 53, -10, 45, -32, -37, 12, -29, 18, 5, -45, 19, 48, 48, 27, -10, -17, -15, -25, -44, 41, -8]
y = [31, -43, -3, 18, -48, 4, -54, -34, -42, 13, 31, -4, 17, 3, 16, -30, -23, -27, -9, 13, -40, 13, 0, -41, 5, -26, 16, -9, 40, 16]
plt.ylim(min(y), max(y))
plt.scatter(x, y)
plt.show()
Вывод:
Комментарии:
1. @Zelix75 Да 🙂 Просто добавьте
plt.xlim(min(x), max(x))
прямо надplt.ylim(min(y), max(y))
.2. Сработало, однако мне пришлось сделать минимальный аргумент ylim = -10, так как в противном случае видимой разницы не было
3. @Zelix75 О, хорошо! Некоторые люди предпочитают иметь отступы вокруг границ, так
plt.ylim(min(y), max(y))
что это может бытьplt.ylim(min(y) - 10, max(y) 10)
.4. Как мне установить определенный масштаб для моей оси y ?. Например, я хочу изменить его на 5 или что-то в этом роде
5. @Zelix75 Используйте
pot.yticks()
сrange
, третьим параметромrange
является масштаб:plt.yticks(range(min(y), max(y), 5))
Ответ №2:
Быстрым решением может быть matplotlib.pyplot.ylim()
. Получите наименьшее y
значение и передайте его в this, чтобы установить его в качестве наименьшего y
значения оси.
Что-то вроде matplotlib.pyplot.ylim(bottom= np.min(y_array))
.
Смотрите https://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.ylim.html для получения более подробной информации.
Ответ №3:
Установите свой лимит.
Например : plt.ylim(-5, 5)