En matplotlib, es posible create SVG figures with hyperlinks.python, matplotlib, svg e hipervínculos en etiquetas de texto
Por ejemplo, puedo usar el método scatter
para dibujar marcadores para que cada marcador individual sea un hipervínculo.
Sin embargo, algunos de mis marcadores tienen etiquetas de texto que he creado con el método text
. ¿Puedo de alguna manera convertir las etiquetas de texto en hipervínculos también?
Hasta ahora he podido lograr lo siguiente. En primer lugar, crear una etiqueta de texto con un cuadro delimitador de modo que el diccionario bbox
tiene un parámetro de url
:
ax.text(x, y, label, bbox=dict(boxstyle=..., url=url))
Entonces parchear matplotlib/backends/backend_svg.py
(versión 1.1.1) ligeramente, en sustitución de
self.writer.end('</a>')
con
self.writer.end('a')
Ahora es casi funciona. Puedo hacer clic en el área que rodea el texto, pero no el texto en sí (de lo contrario, si tengo texto negro sobre fondo blanco, puedo hacer clic en cualquier parte de las partes blancas, pero no en las partes negras).
¿Cuál es la forma más fácil de convertir toda la etiqueta de texto en un hipervínculo (tanto el texto como su cuadro delimitador)?
Idealmente, preferiría una solución que no requiera que aplique parches a la biblioteca matplotlib.
Parece que ha encontrado un error. ¿Te importa informarlo en el rastreador de problemas github.com/matplotlib/matplotlib? Si estás ansioso, esto también haría una primera contribución bastante capaz. ;-) HTH – pelson
@pelson: Bueno, la parte '' es, por supuesto, un error, y sin duda sería genial si alguien lo solucionó.Sin embargo, el problema principal es que faltan algunas características, y no sé si alguna vez se implementarán estas características en Matplotlib. Realmente no puedo esperar a eso, y por lo tanto estaba buscando algunos trucos que podría usar en mi propio código. Ya estoy haciendo cosas como postprocesar el código SVG que fue producido por Matplotlib, así que no me importa si los trucos son feos. :) –