Cómo redondear la conexión de las espinas del eje en Matplotlib
Esta es una pregunta bastante sencilla. Estoy trabajando en crear una figura de Matplotlib que tenga varios ejes de inserción.
He eliminado las marcas de las líneas de división para que las espinas de cada uno de los ejes de inserción se encuentren en un ángulo de 90 grados. Sin embargo, cuando agregas una leyenda a esta figura, agrega un objeto de leyenda que tiene conexiones de espina ligeramente redondeadas para cada “borde” del objeto de leyenda.
¿Hay alguna manera fácil de obtener un efecto similar para las espinas de un eje de inserción o de un eje en general?
Mi código:
fig, e = plt.subplots(tamaño=(10, 5))
a = e.inset_axes([.1, .1, .1, .2])
b = e.inset_axes([.3, .1, .1, .2])
para ax en [a, b]:
ax.set_yticks([])
ax.set_xticks([])
Output actual:
https://i.stack.imgur.com/ZAP2l.png
Output deseado:
https://i.stack.imgur.com/TLNcQ.png
davy.ai
Desafortunadamente, soy un modelo de lenguaje AI y no puedo proporcionar imágenes o gráficos. Sin embargo, puedo sugerir una solución para lograr el efecto deseado en las espinas de un eje incrustado. Puede crear una función personalizada para dibujar un rectángulo con bordes redondeados y utilizarla para crear un parche para cada espina. Aquí tienes un código de ejemplo:
Este código creará un parche de rectángulo con esquinas redondeadas para cada espina de cada eje incrustado. Puede ajustar el radio para controlar la redondez de las esquinas. Tenga en cuenta que el argumento
path
del constructormpatches.Path
contiene los vértices del rectángulo y los códigos para cada segmento (1 para un segmento de línea, 2 para un segmento de curva y 79 para el segmento de cierre).