Estou usando matplotlib
para traçar dados (usando plot
e errorbar
funções) do Python. Tenho que traçar um conjunto de parcelas totalmente separadas e independentes e, em seguida, ajustar seusylim
valores para que possam ser facilmente comparados visualmente.
Como posso recuperar o ylim
valores de cada gráfico, para que eu possa pegar o mínimo e o máximo dos valores de ylim inferior e superior, respectivamente, e ajustar os gráficos para que possam ser comparados visualmente?
Claro, eu poderia apenas analisar os dados e criar meus próprios ylim
valores personalizados ... mas gostaria de usarmatplotlib
para fazer isso por mim. Alguma sugestão sobre como fazer isso de maneira fácil (e eficiente)?
Esta é minha função Python que plota 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)
fonte
plt.gca().get_ylim()
útil - não há necessidade de definição extra de eixos.fig, ax = plt.subplots()
e, em seguida, rotear todas as minhas funções por meio defig
ouax
Se você estiver usando a
plt
api diretamente, pode evitar chamadas para os eixos:fonte
Aproveitando as boas respostas acima e presumindo que você estava usando apenas plt como em
então você pode obter todos os quatro limites de plotagem usando
plt.axis()
como no exemplo a seguir.O código acima deve produzir o seguinte gráfico de saída.
fonte