J'utilise matplotlib
pour tracer des données (utilisation plot
et errorbar
fonctions) à partir de Python. Je dois tracer un ensemble de parcelles totalement séparées et indépendantes, puis ajuster leurs ylim
valeurs afin qu'elles puissent être facilement comparées visuellement.
Comment puis-je récupérer les ylim
valeurs de chaque tracé, de sorte que je puisse prendre le min et le max des valeurs ylim inférieures et supérieures, respectivement, et ajuster les tracés afin qu'ils puissent être comparés visuellement?
Bien sûr, je pourrais simplement analyser les données et proposer mes propres ylim
valeurs personnalisées ... mais j'aimerais utiliser matplotlib
pour le faire pour moi. Des suggestions sur la façon de procéder facilement (et efficacement)?
Voici ma fonction Python qui trace en utilisant 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)
la source
plt.gca().get_ylim()
pratique - pas besoin de définition d'axes supplémentaires.fig, ax = plt.subplots()
puis acheminer toutes mes fonctions viafig
ouax
Si vous utilisez
plt
directement l' API, vous pouvez éviter complètement les appels aux axes:la source
Tirer parti des bonnes réponses ci-dessus et en supposant que vous n'utilisiez que plt comme dans
alors vous pouvez obtenir les quatre limites de tracé en utilisant
plt.axis()
comme dans l'exemple suivant.Le code ci-dessus doit produire le tracé de sortie suivant.
la source