Когда пределы осей не указаны, matplotlib выбирает значения по умолчанию как приятные, круглые числа ниже и выше минимальных и максимальных значений в списке для построения.
Иногда в моих данных есть выбросы, и я не хочу, чтобы они включались при выборе осей. Я могу обнаружить выбросы, но на самом деле я не хочу их удалять, просто чтобы они находились за пределами области графика. Я попытался установить оси как минимальное и максимальное значение в списке, не включая выбросы, но это означает, что эти значения лежат точно на осях, а границы графика не совпадают с точками тикера.
Есть ли способ указать, что пределы осей должны быть в определенном диапазоне, но позволить matplotlib выбрать подходящую точку?
Например, следующий код создает красивый график с автоматически установленными пределами по оси Y (0,140,0,165):
from matplotlib import pyplot as plt
plt.plot([0.144490353418, 0.142921640661, 0.144511781706, 0.143587888773, 0.146009766101, 0.147241517391, 0.147224266382, 0.151530932135, 0.158778411784, 0.160337332636])
plt.show()
После введения выброса в данные и установки пределов вручную пределы по оси Y устанавливаются чуть ниже 0,145 и чуть выше 0,160 — не так аккуратно и аккуратно.
from matplotlib import pyplot as plt
plt.plot([0.144490353418, 0.142921640661, 0.144511781706, 0.143587888773, 500000, 0.146009766101, 0.147241517391, 0.147224266382, 0.151530932135, 0.158778411784, 0.160337332636])
plt.ylim(0.142921640661, 0.160337332636)
plt.show()
Есть ли способ указать matplotlib либо игнорировать значение выброса при установке пределов, либо установить оси на «ниже 0,142921640661» и «выше 0,160337332636», но пусть он решит подходящее местоположение? Я не могу просто округлить числа вверх и вниз, так как все мои наборы данных имеют разную шкалу величин.