Algunos de los gráficos creados y descargados por mi aplicación tienen el potencial de tener leyendas muy grandes. Cuando este es el caso, la idea es crear (idealmente a través de ChartJs, como es el caso con el gráfico asociado) y descargar un lienzo/imagen dedicado que muestre la leyenda completa del gráfico.
Hasta ahora, he podido "ocultar" el gráfico configurando las escalas para mostrar: falso, por ejemplo
options: { scales: { x: { display: false }, y: { display: false }Esto evita con éxito que se muestre el gráfico, pero el lienzo aún parece asignar la mitad de los bienes raíces para el gráfico, por ejemplo.
¿Hay alguna manera de que pueda hacer que el espacio para el gráfico sea más pequeño (o incluso deshabilitarlo para que no se muestre) y permitir más espacio para la leyenda?
Zona de juegos aquí: https://jsfiddle.net/ShallDev2018/7bdnjsw9/16/
NOTA: HtmlLegend no es una opción aquí ya que el único propósito de este lienzo es para descargas.
Después de algunos retoques más, he encontrado la solución al problema.
Da la casualidad de que ChartJs establece un ancho máximo predeterminado para la leyenda (aunque no lo especifica en la documentación). Al establecer el ancho máximo de la leyenda en un valor alto, la leyenda puede asumir todo el lienzo, por ejemplo
legend: { position: 'left', align: 'start', fullSize: false, labels: { font: { size: 12 }, padding: 10 }, maxWidth: 9999 }