Matplotlib получить значения ylim

Я использую matplotlib для построения данных (используя функции plot и errorbar) из Python. Мне нужно построить набор полностью отдельных и независимых графиков, а затем настроить их значения ylim, чтобы их можно было визуально сравнить.

Как я могу получить значения ylim из каждого графика, чтобы я мог взять min и max нижнего и верхнего значений 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)

Ответ 1

Просто используйте axes.get_ylim(), он очень похож на set_ylim. Из docs:

get_ylim()

Получить диапазон оси y [снизу, сверху]

Ответ 2

 ymin, ymax = axes.get_ylim()

Если вы используете структуру 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='.')

    plt.xlim([-0.5, len(values) - 0.5])
    plt.xlabel('My x-axis title')
    plt.ylabel('My y-axis title')

    # title
    plt.title(title)

    # save as file
    plt.savefig(plot_file_name)

   # close figure
    plt.close(fig)

Или это не так?