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)
2 ответа:
просто использовать
axes.get_ylim()
, Это очень похоже наset_ylim
. Из docs:get_ylim ()
получить диапазон оси y [снизу, сверху]
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)
или это не так?