Estoy tratando de juntar varios diagramas en una especie de tabla. Creo que esto se llama "impresión de índice" , la gente de fotografía hace eso cuando tienen que revisar muchas fotografías a la vez. De todos modos, este es el código:
main :: IO ()
main = mainWith @(Diagram B)
$ (tile . fmap renderOne) examples
renderOne :: AnyGraph -> Diagram B
renderOne (AnyGraph gr) = ...
tile :: [Diagram B] -> Diagram B
tile xs = let columns = (ceiling . sqrt . fromIntegral . length) xs
in (vcat . fmap hcat . List.chunksOf columns) xs
No funciona como esperaba. Pero acerquémonos gradualmente. Primero, aquí hay una representación de un único mosaico:
Ahora, déjenos hcat
cuatro fichas juntas.
Agregue una segunda fila: (Vea cómo se espesan las características invariables de escala ).
Y así es como se ve con 4 filas:
¡Fuera de alcance!
Me parece que las características invariables de escala, como las puntas de flecha, se escalan en proporción al área de la imagen. Pero en este caso, necesito hacer crecer mi diagrama sin volver a escalar esas características. ¿Cómo puedo lograr eso?
fuente