Estoy usando matplotlibpara trazar datos (usando ploty errorbarfunciones) de Python. Tengo que trazar un conjunto de gráficos totalmente separados e independientes, y luego ajustar sus ylimvalores para que puedan compararse visualmente fácilmente.
¿Cómo puedo recuperar los ylimvalores de cada gráfico, de modo que pueda tomar el mínimo y el máximo de los valores ylim superior e inferior, respectivamente, y ajustar los gráficos para poder compararlos visualmente?
Por supuesto, podría simplemente analizar los datos y generar mis propios ylimvalores personalizados ... pero me gustaría usar matplotlibpara hacerlo por mí. ¿Alguna sugerencia sobre cómo hacer esto de manera fácil (y eficiente)?
Aquí está mi función de Python que traza usando 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)
fuente

plt.gca().get_ylim()útil, no es necesario definir ejes adicionales.fig, ax = plt.subplots()y luego enrutar todas mis funciones a través defigoaxSi está utilizando la
pltAPI directamente, puede evitar las llamadas a los ejes por completo:fuente
Aprovechando las buenas respuestas anteriores y asumiendo que solo estaba usando plt como en
entonces puede obtener los cuatro límites de la trama usando
plt.axis()como en el siguiente ejemplo.El código anterior debería producir el siguiente gráfico de salida.
fuente