ylim pyplot python matplotlib plot

python - pyplot - matplotlib obtiene valores ylim



python pyplot title (3)

Aprovechando las buenas respuestas anteriores y asumiendo que solo estaba usando plt como en

import matplotlib.pyplot as plt

entonces puede obtener los cuatro límites de trazado usando plt.axis() como en el siguiente ejemplo.

import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5, 6, 7, 8] # fake data y = [1, 2, 3, 4, 3, 2, 5, 6] plt.plot(x, y, ''k'') xmin, xmax, ymin, ymax = plt.axis() s = ''xmin = '' + str(round(xmin, 2)) + '', '' + / ''xmax = '' + str(xmax) + ''/n'' + / ''ymin = '' + str(ymin) + '', '' + / ''ymax = '' + str(ymax) + '' '' plt.annotate(s, (1, 5)) plt.show()

El código anterior debería producir el siguiente diagrama de salida.

Estoy usando matplotlib para trazar datos (usando las funciones de plot y errorbar ) de Python. Tengo que trazar un conjunto de tramas totalmente separadas e independientes, y luego ajustar sus valores ylim para que puedan compararse visualmente fácilmente.

¿Cómo puedo recuperar los valores ylim de cada gráfico, para poder tomar el mínimo y el máximo de los valores ylim inferiores y superiores, respectivamente, y ajustar los gráficos para que puedan compararse visualmente?

Por supuesto, podría analizar los datos y crear mis propios valores ylim personalizados ... pero me gustaría usar matplotlib para hacer eso 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)


Simplemente use axes.get_ylim() , es muy similar a set_ylim . De los docs :

get_ylim ()

Obtenga el rango del eje y [abajo, arriba]


ymin, ymax = axes.get_ylim()

Si está utilizando la estructura plt , ¿por qué molestarse incluso con los ejes? Esto debería funcionar:

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)

¿O no es este el caso?