¿Cómo puedo dejar que mi gráfico de matplotlib vaya más allá de los ejes?

Tengo que traducir un script de trazado de imágenes de matlab a matplotlib / pylab, y estoy tratando de lograr el mismo efecto que la imagen de matlab a continuación:

imagen generada utilizando matlab

Como puede ver, el orden z de las plots parece ser más alto que el orden z de la cuadrícula, por lo que los marcadores no están ocultos por los ejes. Sin embargo, no puedo encontrar una manera de hacer lo mismo con mi imagen matplotlib:

eimage generado con matplotlib

Me pregunto si es posible obtener la misma pantalla sin tener que boost los límites del eje y.

Para que el marcador se muestre más allá de los ejes, puede desactivar el recorte. Esto se puede hacer usando el argumento de la palabra clave en el comando plot clip_on=False .

Por ejemplo:

 import matplotlib.pyplot as plt plt.plot(range(5), range(5), 'ro', markersize=20, clip_on=False, zorder=100) plt.show() 

introduzca la descripción de la imagen aquí

Este es un ejemplo completo de cómo usar zorder kwarg: http://matplotlib.sourceforge.net/examples/pylab_examples/zorder_demo.html
Tenga en cuenta que un orden z superior equivale a un elemento gráfico más en primer plano.

Para su segunda pregunta, eche un vistazo a figsize kwarg a instancias de la clase Figure : http://matplotlib.sourceforge.net/api/figure_api.html?highlight=figsize#matplotlib.figure.Figure

Si tiene problemas, publique parte de su código y podremos dar recomendaciones más detalladas. La mejor de las suertes.

Si está trazando las líneas una tras otra, simplemente cambie el orden de las llamadas de trazado y eso arreglaría el orden z.