Markers en los bordes de la trama cortados en matplotlib [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo escalar automáticamente el eje y en matplotlib? [duplicar 1 respuesta

Quiero hacer un diagrama de dispersión usando matplotlib. Si quiero usar cualquier tipo de marcador, el comportamiento de trazado predeterminado de matplotlib corta la mitad izquierda del marcador en el lado izquierdo del diagrama, y el lado derecho del marcador en el lado derecho del diagrama. Estaba buscando la forma más automática de agregar espacio adicional al lado izquierdo y derecho de la gráfica sin agregar etiquetas de marca adicionales, por lo que mis marcadores no están cortados y tampoco parece que haya etiquetas de marca de x que no corresponden a ningún punto.

from matplotlib import pyplot as plt
import numpy as np
xx = np.arange(10)
yy = np.random.random( 10 )
plt.plot(xx, yy, 'o' )

Este código da como resultado un gráfico que se ve así:

Me gustaría tener círculos completos en x = 0 yx = 4.5, pero no quiero más etiquetas de marca, y me gustaría que el código sea lo más corto y automático posible.

Respuestas a la pregunta(2)

Su respuesta a la pregunta