Estoy usando matplotlib
para trazar datos (usando plot
y errorbar
funciones) de Python. Tengo que trazar un conjunto de gráficos totalmente separados e independientes, y luego ajustar sus ylim
valores para que puedan compararse visualmente fácilmente.
¿Cómo puedo recuperar los ylim
valores 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 ylim
valores personalizados ... pero me gustaría usar matplotlib
para 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 defig
oax
Si está utilizando la
plt
API 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