Я использую matplotlib
для построения данных (используя plot
и errorbar
функции) из Python. Мне нужно построить набор совершенно отдельных и независимых графиков, а затем настроить их ylim
значения, чтобы их можно было легко визуально сравнить.
Как я могу получить ylim
значения из каждого графика, чтобы взять минимальное и максимальное значения нижнего и верхнего значений ylim, соответственно, и настроить графики, чтобы их можно было визуально сравнить?
Конечно, я мог бы просто проанализировать данные и придумать свои собственные ylim
значения ... но я бы хотел использовать matplotlib
это для себя. Есть предложения, как это легко (и эффективно) сделать?
Вот моя функция Python, которая строит графики с использованием matplotlib
:
import matplotlib.pyplot as plt
def myplotfunction(title, values, errors, plot_file_name):
# plot errorbars
indices = range(0, len(values))
fig = plt.figure()
plt.errorbar(tuple(indices), tuple(values), tuple(errors), marker='.')
# axes
axes = plt.gca()
axes.set_xlim([-0.5, len(values) - 0.5])
axes.set_xlabel('My x-axis title')
axes.set_ylabel('My y-axis title')
# title
plt.title(title)
# save as file
plt.savefig(plot_file_name)
# close figure
plt.close(fig)
источник
plt.gca().get_ylim()
что это удобно - нет необходимости в дополнительном определении осей.fig, ax = plt.subplots()
а затем маршрутизировать все свои функции через либоfig
илиax
Если вы используете
plt
api напрямую, вы можете вообще избежать вызовов осей:источник
Используя хорошие ответы выше и предполагая, что вы использовали только plt, как в
тогда вы можете получить все четыре предела графика,
plt.axis()
как в следующем примере.Приведенный выше код должен создать следующий выходной график.
источник